From be07f991b6341d525a2c91bdfd01d9c8902b917b Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Fri, 28 Dec 2018 12:47:17 +0100 Subject: [PATCH] Remove MongoDB MongoDB support was stopped in Pike, it is not used anywhere now. Therefore, in Stein are removing it to clean things up. Change-Id: I4ec8f35b1dd71c25cfb41cc54105ac743ef67745 --- README.rst | 2 - capabilities-map.yaml | 11 - .../network-isolation-absolute.yaml | 1 - .../multiple-nics-ipv6/network-isolation.yaml | 1 - .../scenario006-multinode-containers.yaml | 1 - .../deployed-server-roles-data.yaml | 1 - docker/services/database/mongodb.yaml | 192 ------------------ .../lifecycle/ffwd-upgrade-prepare.yaml | 1 + environments/lifecycle/upgrade-prepare.yaml | 2 + environments/mongodb-nojournal.yaml | 5 - environments/network-isolation-v6.j2.yaml | 2 - network/service_net_map.j2.yaml | 2 - overcloud-resource-registry-puppet.j2.yaml | 1 - puppet/services/database/mongodb-base.yaml | 58 ------ puppet/services/database/mongodb.yaml | 150 -------------- .../services/disabled/mongodb-disabled.yaml | 48 ----- .../notes/mongodb_drop-02daffbfe4975cb9.yaml | 6 + roles/Controller.yaml | 1 - roles/ControllerAllNovaStandalone.yaml | 1 - roles/ControllerNoCeph.yaml | 1 - roles/ControllerNovaStandalone.yaml | 1 - roles/ControllerOpenstack.yaml | 1 - roles/ControllerStorageNfs.yaml | 1 - roles/Standalone.yaml | 1 - roles_data.yaml | 1 - tools/yaml-validate.py | 1 - 26 files changed, 9 insertions(+), 484 deletions(-) delete mode 100644 docker/services/database/mongodb.yaml delete mode 100644 environments/mongodb-nojournal.yaml delete mode 100644 puppet/services/database/mongodb-base.yaml delete mode 100644 puppet/services/database/mongodb.yaml delete mode 100644 puppet/services/disabled/mongodb-disabled.yaml create mode 100644 releasenotes/notes/mongodb_drop-02daffbfe4975cb9.yaml diff --git a/README.rst b/README.rst index d1ea005567..279a9ea93f 100644 --- a/README.rst +++ b/README.rst @@ -94,8 +94,6 @@ and should be executed according to the following table: +----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ | om-notify | | rabbit | rabbit | rabbit | rabbit | rabbit | rabbit | | rabbit | rabbit | rabbit | +----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ -| mongodb | | | | | | | | | | | | -+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ | redis | | X | X | | | | | | | | | +----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ | haproxy | | X | X | X | X | X | X | | X | X | X | diff --git a/capabilities-map.yaml b/capabilities-map.yaml index 55b33a7d8b..68baf1953f 100644 --- a/capabilities-map.yaml +++ b/capabilities-map.yaml @@ -649,17 +649,6 @@ topics: description: requires: - overcloud-resource-registry-puppet.yaml - - title: Disable journal in MongoDb - description: > - Since, when journaling is enabled, MongoDb will create big journal - file it can take time. In a CI environment for example journaling is - not necessary. - environments: - - file: environments/mongodb-nojournal.yaml - title: Disable journal in MongoDb - description: - requires: - - overcloud-resource-registry-puppet.yaml - title: Overcloud Steps description: > Specifies hooks/breakpoints where overcloud deployment should stop diff --git a/ci/environments/network/multiple-nics-ipv6/network-isolation-absolute.yaml b/ci/environments/network/multiple-nics-ipv6/network-isolation-absolute.yaml index a0fc4e40a3..62739321d3 100644 --- a/ci/environments/network/multiple-nics-ipv6/network-isolation-absolute.yaml +++ b/ci/environments/network/multiple-nics-ipv6/network-isolation-absolute.yaml @@ -29,7 +29,6 @@ resource_registry: parameter_defaults: CephIPv6: True CorosyncIPv6: True - MongoDbIPv6: True NovaIPv6: True RabbitIPv6: True MemcachedIPv6: True diff --git a/ci/environments/network/multiple-nics-ipv6/network-isolation.yaml b/ci/environments/network/multiple-nics-ipv6/network-isolation.yaml index 2050708899..c8f078e844 100644 --- a/ci/environments/network/multiple-nics-ipv6/network-isolation.yaml +++ b/ci/environments/network/multiple-nics-ipv6/network-isolation.yaml @@ -29,7 +29,6 @@ resource_registry: parameter_defaults: CephIPv6: True CorosyncIPv6: True - MongoDbIPv6: True NovaIPv6: True RabbitIPv6: True MemcachedIPv6: True diff --git a/ci/environments/scenario006-multinode-containers.yaml b/ci/environments/scenario006-multinode-containers.yaml index 04c86d6e7f..15a7e32d25 100644 --- a/ci/environments/scenario006-multinode-containers.yaml +++ b/ci/environments/scenario006-multinode-containers.yaml @@ -42,7 +42,6 @@ parameter_defaults: - OS::TripleO::Services::Sshd - OS::TripleO::Services::Securetty - OS::TripleO::Services::Timezone - - OS::TripleO::Services::MongoDb - OS::TripleO::Services::Redis - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall diff --git a/deployed-server/deployed-server-roles-data.yaml b/deployed-server/deployed-server-roles-data.yaml index 1229c3efd0..5f9bbcfccd 100644 --- a/deployed-server/deployed-server-roles-data.yaml +++ b/deployed-server/deployed-server-roles-data.yaml @@ -100,7 +100,6 @@ - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached - - OS::TripleO::Services::MongoDb - OS::TripleO::Services::MySQL - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronApi diff --git a/docker/services/database/mongodb.yaml b/docker/services/database/mongodb.yaml deleted file mode 100644 index 22db98a262..0000000000 --- a/docker/services/database/mongodb.yaml +++ /dev/null @@ -1,192 +0,0 @@ -heat_template_version: rocky - -description: > - MongoDB service deployment using puppet and docker - -parameters: - DockerMongodbImage: - description: image - type: string - DockerMongodbConfigImage: - description: The container image to use for the mongodb config_volume - type: string - EndpointMap: - default: {} - description: Mapping of service endpoint -> protocol. Typically set - via parameter_defaults in the resource registry. - type: json - ServiceData: - default: {} - description: Dictionary packing service data - type: json - ServiceNetMap: - default: {} - description: Mapping of service_name -> network name. Typically set - via parameter_defaults in the resource registry. This - mapping overrides those in ServiceNetMapDefaults. - type: json - DefaultPasswords: - default: {} - type: json - RoleName: - default: '' - description: Role name on which the service is applied - type: string - RoleParameters: - default: {} - description: Parameters specific to the role - type: json - EnableInternalTLS: - type: boolean - default: false - InternalTLSCAFile: - default: '/etc/ipa/ca.crt' - type: string - description: Specifies the default CA cert to use if TLS is used for - services in the internal network. - -conditions: - - internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]} - -resources: - - MongodbPuppetBase: - type: ../../../puppet/services/database/mongodb.yaml - properties: - EndpointMap: {get_param: EndpointMap} - ServiceData: {get_param: ServiceData} - ServiceNetMap: {get_param: ServiceNetMap} - DefaultPasswords: {get_param: DefaultPasswords} - RoleName: {get_param: RoleName} - RoleParameters: {get_param: RoleParameters} - -outputs: - role_data: - description: Containerized service Mongodb using composable services. - value: - service_name: {get_attr: [MongodbPuppetBase, role_data, service_name]} - config_settings: - map_merge: - - get_attr: [MongodbPuppetBase, role_data, config_settings] - - mongodb::server::fork: false - # BEGIN DOCKER SETTINGS # - puppet_config: - config_volume: mongodb - puppet_tags: file # set this even though file is the default - step_config: - list_join: - - "\n" - - - "['Mongodb_database', 'Mongodb_user', 'Mongodb_replset'].each |String $val| { noop_resource($val) }" - - {get_attr: [MongodbPuppetBase, role_data, step_config]} - config_image: &mongodb_config_image {get_param: DockerMongodbConfigImage} - kolla_config: - /var/lib/kolla/config_files/mongodb.json: - command: /usr/bin/mongod --unixSocketPrefix=/var/run/mongodb --config /etc/mongod.conf run - config_files: - - source: "/var/lib/kolla/config_files/src/*" - dest: "/" - merge: true - preserve_properties: true - - source: "/var/lib/kolla/config_files/src-tls/*" - dest: "/" - merge: true - preserve_properties: true - permissions: - - path: /var/lib/mongodb - owner: mongodb:mongodb - recurse: true - - path: /var/log/mongodb - owner: mongodb:mongodb - recurse: true - - path: /etc/pki/tls/certs/mongodb.pem - owner: mongodb:mongodb - docker_config: - step_2: - mongodb: - image: {get_param: DockerMongodbImage} - net: host - privileged: false - volumes: &mongodb_volumes - list_concat: - - - /var/lib/kolla/config_files/mongodb.json:/var/lib/kolla/config_files/config.json - - /var/lib/config-data/puppet-generated/mongodb/:/var/lib/kolla/config_files/src:ro - - /etc/localtime:/etc/localtime:ro - - /var/log/containers/mongodb:/var/log/mongodb:z - - /var/lib/mongodb:/var/lib/mongodb:z - - if: - - internal_tls_enabled - - - list_join: - - ':' - - - {get_param: InternalTLSCAFile} - - {get_param: InternalTLSCAFile} - - 'ro' - - /etc/pki/tls/certs/mongodb.pem:/var/lib/kolla/config_files/src-tls/etc/pki/tls/certs/mongodb.pem:ro - - null - environment: - - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS - docker_puppet_tasks: - # MySQL database initialization occurs only on single node - step_2: - config_volume: 'mongodb_init_tasks' - puppet_tags: 'mongodb_database,mongodb_user,mongodb_replset' - step_config: 'include ::tripleo::profile::base::database::mongodb' - config_image: *mongodb_config_image - volumes: - list_concat: - - - /var/lib/mongodb:/var/lib/mongodb:z - - /var/log/containers/mongodb:/var/log/mongodb:z - - if: - - internal_tls_enabled - - - list_join: - - ':' - - - {get_param: InternalTLSCAFile} - - {get_param: InternalTLSCAFile} - - 'ro' - - /etc/pki/tls/certs/mongodb.pem:/var/lib/kolla/config_files/src-tls/etc/pki/tls/certs/mongodb.pem:ro - - null - host_prep_tasks: - - name: create persistent directories - file: - path: "{{ item.path }}" - state: directory - setype: "{{ item.setype }}" - with_items: - - { 'path': /var/log/containers/mongodb, 'setype': svirt_sandbox_file_t } - - { 'path': /var/lib/mongodb, 'setype': svirt_sandbox_file_t } - - name: mongodb logs readme - copy: - dest: /var/log/mongodb/readme.txt - content: | - Log files from mongodb containers can be found under - /var/log/containers/mongodb. - ignore_errors: true - metadata_settings: - get_attr: [MongodbPuppetBase, role_data, metadata_settings] - upgrade_tasks: [] - fast_forward_upgrade_tasks: - - when: - - step|int == 0 - - release == 'ocata' - block: - - name: Check for mongodb service - command: systemctl is-enabled --quiet mongod - tags: common - ignore_errors: True - register: mongod_enabled_result - - name: Set fact mongod_enabled - set_fact: - mongod_enabled: "{{ mongod_enabled_result.rc == 0 }}" - - name: Stop and disable mongodb service - when: - - step|int == 1 - - release == 'ocata' - - mongod_enabled|bool - service: name=mongod state=stopped enabled=no - post_upgrade_tasks: - - when: step|int == 1 - import_role: - name: tripleo-docker-rm - vars: - containers_to_rm: - - mongodb diff --git a/environments/lifecycle/ffwd-upgrade-prepare.yaml b/environments/lifecycle/ffwd-upgrade-prepare.yaml index 0a5f2a8b0c..fba36f35f3 100644 --- a/environments/lifecycle/ffwd-upgrade-prepare.yaml +++ b/environments/lifecycle/ffwd-upgrade-prepare.yaml @@ -6,6 +6,7 @@ resource_registry: OS::TripleO::Services::VipHosts: OS::Heat::None # Deprecated/Name changed services OS::TripleO::Services::FluentdClient: OS::Heat::None + OS::TripleO::Services::MongoDb: OS::Heat::None parameter_defaults: StackUpdateType: FASTFORWARDUPGRADE diff --git a/environments/lifecycle/upgrade-prepare.yaml b/environments/lifecycle/upgrade-prepare.yaml index 6ca124e74c..7bd1d8578e 100644 --- a/environments/lifecycle/upgrade-prepare.yaml +++ b/environments/lifecycle/upgrade-prepare.yaml @@ -4,6 +4,8 @@ resource_registry: OS::TripleO::Tasks::*PreConfig: OS::Heat::None OS::TripleO::Tasks::*PostConfig: OS::Heat::None + # Deprecated/Name changed services + OS::TripleO::Services::MongoDb: OS::Heat::None parameter_defaults: UpgradeLevelNovaCompute: auto diff --git a/environments/mongodb-nojournal.yaml b/environments/mongodb-nojournal.yaml deleted file mode 100644 index 92cef5321b..0000000000 --- a/environments/mongodb-nojournal.yaml +++ /dev/null @@ -1,5 +0,0 @@ -# A Heat environment file which can be used to disable journal in MongoDb. -# Since, when journaling is enabled, MongoDb will create big journal file -# it can take time. In a CI environment for example journaling is not necessary. -parameter_defaults: - MongoDbNoJournal: true diff --git a/environments/network-isolation-v6.j2.yaml b/environments/network-isolation-v6.j2.yaml index 1a0a71c29b..2b059453a1 100644 --- a/environments/network-isolation-v6.j2.yaml +++ b/environments/network-isolation-v6.j2.yaml @@ -52,8 +52,6 @@ parameter_defaults: CephIPv6: True # Enable IPv6 for Corosync. This is required when Corosync is using an IPv6 IP in the cluster. CorosyncIPv6: True - # Enable IPv6 for MongoDB. This is required when MongoDB is using an IPv6 IP. - MongoDbIPv6: True # Enable various IPv6 features in Nova. NovaIPv6: True # Enable IPv6 environment for RabbitMQ. diff --git a/network/service_net_map.j2.yaml b/network/service_net_map.j2.yaml index c5f9c490c0..b4c258f94d 100644 --- a/network/service_net_map.j2.yaml +++ b/network/service_net_map.j2.yaml @@ -30,7 +30,6 @@ parameters: PankoApiNetwork: internal_api BarbicanApiNetwork: internal_api GnocchiApiNetwork: internal_api - MongodbNetwork: internal_api CinderApiNetwork: internal_api CinderIscsiNetwork: storage CongressApiNetwork: internal_api @@ -99,7 +98,6 @@ parameters: # CamelCase to snake_case conversion to align with service_names ServiceNetMapDeprecatedMapping: default: - MongoDbNetwork: MongodbNetwork RabbitMqNetwork: RabbitmqNetwork CephPublicNetwork: CephMonNetwork SwiftMgmtNetwork: SwiftStorageNetwork diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index ea7ace26da..cd418b6abe 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -191,7 +191,6 @@ resource_registry: OS::TripleO::Services::SELinux: OS::Heat::None OS::TripleO::Services::Sshd: docker/services/sshd.yaml OS::TripleO::Services::Redis: docker/services/database/redis.yaml - OS::TripleO::Services::MongoDb: puppet/services/disabled/mongodb-disabled.yaml OS::TripleO::Services::NovaApi: docker/services/nova-api.yaml OS::TripleO::Services::NovaCompute: docker/services/nova-compute.yaml OS::TripleO::Services::NovaConductor: docker/services/nova-conductor.yaml diff --git a/puppet/services/database/mongodb-base.yaml b/puppet/services/database/mongodb-base.yaml deleted file mode 100644 index 3f2f9cbca6..0000000000 --- a/puppet/services/database/mongodb-base.yaml +++ /dev/null @@ -1,58 +0,0 @@ -heat_template_version: rocky - -description: > - Configuration details for MongoDB service using composable roles - -parameters: - MongoDbNoJournal: - default: false - description: Should MongoDb journaling be disabled - type: boolean - MongoDbIPv6: - default: false - description: Enable IPv6 if MongoDB VIP is IPv6 - type: boolean - MongoDbReplset: - type: string - default: "tripleo" - ServiceData: - default: {} - description: Dictionary packing service data - type: json - ServiceNetMap: - default: {} - description: Mapping of service_name -> network name. Typically set - via parameter_defaults in the resource registry. This - mapping overrides those in ServiceNetMapDefaults. - type: json - DefaultPasswords: - default: {} - type: json - RoleName: - default: '' - description: Role name on which the service is applied - type: string - RoleParameters: - default: {} - description: Parameters specific to the role - type: json - EndpointMap: - default: {} - description: Mapping of service endpoint -> protocol. Typically set - via parameter_defaults in the resource registry. - type: json - -outputs: - aux_parameters: - description: Additional parameters referenced outside the base file - value: - rplset_name: {get_param: MongoDbReplset} - role_data: - description: Role data for the MongoDB base service. - value: - service_name: mongodb_base - config_settings: - mongodb::server::nojournal: {get_param: MongoDbNoJournal} - mongodb::server::journal: false - mongodb::server::ipv6: {get_param: MongoDbIPv6} - mongodb::server::replset: {get_param: MongoDbReplset} diff --git a/puppet/services/database/mongodb.yaml b/puppet/services/database/mongodb.yaml deleted file mode 100644 index e0a8acd7a2..0000000000 --- a/puppet/services/database/mongodb.yaml +++ /dev/null @@ -1,150 +0,0 @@ -heat_template_version: rocky - -description: > - MongoDb service deployment using puppet - -parameters: - #Parameters not used EndpointMap - ServiceData: - default: {} - description: Dictionary packing service data - type: json - ServiceNetMap: - default: {} - description: Mapping of service_name -> network name. Typically set - via parameter_defaults in the resource registry. This - mapping overrides those in ServiceNetMapDefaults. - type: json - DefaultPasswords: - default: {} - type: json - RoleName: - default: '' - description: Role name on which the service is applied - type: string - RoleParameters: - default: {} - description: Parameters specific to the role - type: json - EndpointMap: - default: {} - description: Mapping of service endpoint -> protocol. Typically set - via parameter_defaults in the resource registry. - type: json - MongoDbLoggingSource: - type: json - description: Fluentd logging configuration for mongodb. - default: - tag: database.mongodb - path: /var/log/mongodb/mongodb.log - format: >- - /(?