コード例 #1
0
 def get_nodegroup_by_uuid(self, context, cluster_id, nodegroup_uuid):
     query = model_query(models.NodeGroup)
     if not context.is_admin:
         query = query.filter_by(project_id=context.project_id)
     query = query.filter_by(cluster_id=cluster_id)
     query = query.filter_by(uuid=nodegroup_uuid)
     try:
         return query.one()
     except NoResultFound:
         raise exception.NodeGroupNotFound(nodegroup=nodegroup_uuid)
コード例 #2
0
 def destroy_nodegroup(self, cluster_id, nodegroup_id):
     session = get_session()
     with session.begin():
         query = model_query(models.NodeGroup, session=session)
         query = add_identity_filter(query, nodegroup_id)
         query = query.filter_by(cluster_id=cluster_id)
         try:
             query.one()
         except NoResultFound:
             raise exception.NodeGroupNotFound(nodegroup=nodegroup_id)
         query.delete()
コード例 #3
0
 def test_nodegroup_delete_stack_and_ng_not_found(self, mock_get_driver):
     mock_driver = mock.MagicMock()
     mock_get_driver.return_value = mock_driver
     nodegroup = mock.MagicMock()
     mock_driver.delete_nodegroup.side_effect = exc.HTTPNotFound()
     nodegroup.destroy.side_effect = exception.NodeGroupNotFound()
     self.handler.nodegroup_delete(self.context, self.cluster, nodegroup)
     mock_driver.delete_nodegroup.assert_called_once_with(
         self.context, self.cluster, nodegroup)
     self.assertEqual(fields.ClusterStatus.UPDATE_IN_PROGRESS,
                      self.cluster.status)
     nodegroup.destroy.assert_called_once()
コード例 #4
0
    def _do_update_nodegroup(self, cluster_id, nodegroup_id, values):
        session = get_session()
        with session.begin():
            query = model_query(models.NodeGroup, session=session)
            query = add_identity_filter(query, nodegroup_id)
            query = query.filter_by(cluster_id=cluster_id)
            try:
                ref = query.with_for_update().one()
            except NoResultFound:
                raise exception.NodeGroupNotFound(nodegroup=nodegroup_id)

            ref.update(values)
        return ref
コード例 #5
0
 def get_nodegroup_by_name(self, context, cluster_id, nodegroup_name):
     query = model_query(models.NodeGroup)
     if not context.is_admin:
         query = query.filter_by(project_id=context.project_id)
     query = query.filter_by(cluster_id=cluster_id)
     query = query.filter_by(name=nodegroup_name)
     try:
         return query.one()
     except MultipleResultsFound:
         raise exception.Conflict('Multiple nodegroups exist with same '
                                  'name. Please use the nodegroup uuid '
                                  'instead.')
     except NoResultFound:
         raise exception.NodeGroupNotFound(nodegroup=nodegroup_name)