diff --git a/trove/guestagent/datastore/couchbase/manager.py b/trove/guestagent/datastore/couchbase/manager.py index 4a9419dc22..51b9cff1dd 100644 --- a/trove/guestagent/datastore/couchbase/manager.py +++ b/trove/guestagent/datastore/couchbase/manager.py @@ -64,6 +64,7 @@ class Manager(periodic_task.PeriodicTasks): prepare handles all the base configuration of the Couchbase instance. """ self.appStatus.begin_install() + self.app.install_if_needed(packages) if device_path: device = volume.VolumeDevice(device_path) # unmount if device is already mounted @@ -71,10 +72,11 @@ class Manager(periodic_task.PeriodicTasks): device.format() device.mount(mount_point) LOG.debug('Mounted the volume.') + self.app.start_db_with_conf_changes(config_contents) + LOG.info(_('Securing couchbase now.')) if root_password: self.app.enable_root(root_password) - self.app.install_if_needed(packages) - LOG.info(_('Securing couchbase now.')) + self.app.initial_setup() self.app.complete_install_or_restart() LOG.info(_('"prepare" couchbase call has finished.')) diff --git a/trove/guestagent/datastore/couchbase/service.py b/trove/guestagent/datastore/couchbase/service.py index da9054dd9f..2283dab5e1 100644 --- a/trove/guestagent/datastore/couchbase/service.py +++ b/trove/guestagent/datastore/couchbase/service.py @@ -58,7 +58,6 @@ class CouchbaseApp(object): if not packager.pkg_is_installed(packages): LOG.info(_('Installing Couchbase')) self._install_couchbase(packages) - self.initial_setup() def initial_setup(self): self.ip_address = operating_system.get_ip_address() diff --git a/trove/tests/unittests/guestagent/test_couchbase_manager.py b/trove/tests/unittests/guestagent/test_couchbase_manager.py index dcfe038871..c8857b2e70 100644 --- a/trove/tests/unittests/guestagent/test_couchbase_manager.py +++ b/trove/tests/unittests/guestagent/test_couchbase_manager.py @@ -73,6 +73,10 @@ class GuestAgentCouchbaseManagerTest(testtools.TestCase): volume.VolumeDevice.mount_points = MagicMock(return_value=[]) couch_service.CouchbaseApp.install_if_needed = MagicMock( return_value=None) + couch_service.CouchbaseApp.start_db_with_conf_changes = MagicMock( + return_value=None) + couch_service.CouchbaseApp.initial_setup = MagicMock( + return_value=None) couch_service.CouchbaseApp.complete_install_or_restart = MagicMock( return_value=None) diff --git a/trove/tests/unittests/guestagent/test_dbaas.py b/trove/tests/unittests/guestagent/test_dbaas.py index a5bacc2e09..c23fa35373 100644 --- a/trove/tests/unittests/guestagent/test_dbaas.py +++ b/trove/tests/unittests/guestagent/test_dbaas.py @@ -1599,13 +1599,11 @@ class CouchbaseAppTest(testtools.TestCase): self.assertTrue(conductor_api.API.heartbeat.called) def test_install_when_couchbase_installed(self): - self.couchbaseApp.initial_setup = Mock() couchservice.packager.pkg_is_installed = Mock(return_value=True) couchservice.utils.execute_with_timeout = Mock() self.couchbaseApp.install_if_needed(["package"]) self.assertTrue(couchservice.packager.pkg_is_installed.called) - self.assertTrue(self.couchbaseApp.initial_setup.called) self.assert_reported_status(rd_instance.ServiceStatuses.NEW)