def test_success(self, mock_get_orchestration, mock_create_overcloudrc, mock_get_object): mock_ctx = mock.MagicMock() mock_env = """ version: 1.0 template: overcloud.yaml environments: - path: overcloud-resource-registry-puppet.yaml - path: environments/services/sahara.yaml parameter_defaults: BlockStorageCount: 42 OvercloudControlFlavor: yummy passwords: AdminPassword: SUPERSECUREPASSWORD """ mock_get_object.return_value.get_object.return_value = ({}, mock_env) mock_create_overcloudrc.return_value = { "overcloudrc": "fake overcloudrc" } action = deployment.OvercloudRcAction("overcast") result = action.run(mock_ctx) self.assertEqual(result, {"overcloudrc": "fake overcloudrc"})
def test_no_password(self, mock_get_orchestration, mock_get_object): mock_ctx = mock.MagicMock() mock_get_object.return_value.get_object.return_value = ({}, "version: 1.0") action = deployment.OvercloudRcAction("overcast") result = action.run(mock_ctx) self.assertEqual( result.error, "Unable to find the AdminPassword in the plan environment.")
def test_no_env(self, mock_get_orchestration, mock_get_object): mock_ctx = mock.MagicMock() mock_get_object.return_value.get_object.side_effect = ( swiftexceptions.ClientException("overcast")) action = deployment.OvercloudRcAction("overcast") result = action.run(mock_ctx) self.assertEqual( result.error, "Error retrieving environment for plan " "overcast: overcast")
def test_no_stack(self, mock_get_orchestration, mock_get_object): mock_ctx = mock.MagicMock() not_found = heat_exc.HTTPNotFound() mock_get_orchestration.return_value.stacks.get.side_effect = not_found action = deployment.OvercloudRcAction("overcast") result = action.run(mock_ctx) self.assertEqual( result.error, ("The Heat stack overcast could not be found. Make sure you have " "deployed before calling this action."))
def create_overcloudrc(clients, container="overcloud", no_proxy=''): context = clients.tripleoclient.create_mistral_context() return deployment.OvercloudRcAction(container, no_proxy).run(context)