[ 
https://issues.apache.org/jira/browse/AIRAVATA-3296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17079963#comment-17079963
 ] 

Marcus Christie commented on AIRAVATA-3296:
-------------------------------------------

Work in progress scripts for creating missing entries:

{code:sql}
SELECT
    DISTINCT RESOURCE_CS_TOKEN
FROM
    app_catalog.GROUP_COMPUTE_RESOURCE_PREFERENCE
WHERE
    RESOURCE_CS_TOKEN IS NOT NULL
    AND RESOURCE_CS_TOKEN != ''
    AND RESOURCE_CS_TOKEN NOT IN (
        SELECT
            ENTITY_ID
        FROM
            sharing_catalog.ENTITY
    )
    AND EXISTS (
        SELECT
            1
        FROM
            credential_store.CREDENTIALS
        WHERE
            TOKEN_ID = RESOURCE_CS_TOKEN
    );

SELECT
    DISTINCT DEFAULT_CREDENTIAL_STORE_TOKEN
FROM
    app_catalog.GROUP_RESOURCE_PROFILE
WHERE
    DEFAULT_CREDENTIAL_STORE_TOKEN IS NOT NULL
    AND DEFAULT_CREDENTIAL_STORE_TOKEN != ''
    AND DEFAULT_CREDENTIAL_STORE_TOKEN NOT IN (
        SELECT
            ENTITY_ID
        FROM
            sharing_catalog.ENTITY
    )
    AND EXISTS (
        SELECT
            1
        FROM
            credential_store.CREDENTIALS
        WHERE
            TOKEN_ID = DEFAULT_CREDENTIAL_STORE_TOKEN
    );

INSERT INTO
    sharing_catalog.ENTITY (
        ENTITY_ID,
        DOMAIN_ID,
        ENTITY_TYPE_ID,
        OWNER_ID,
        NAME,
        DESCRIPTION,
        ORIGINAL_ENTITY_CREATION_TIME,
        CREATED_TIME,
        UPDATED_TIME
    )
SELECT
    TOKEN_ID,
    GATEWAY_ID,
    concat(GATEWAY_ID, ':CREDENTIAL_TOKEN') AS ENTITY_TYPE_ID,
    concat(PORTAL_USER_ID, '@', GATEWAY_ID) AS OWNER_ID,
    TOKEN_ID,
    DESCRIPTION,
    UNIX_TIMESTAMP(TIME_PERSISTED) * 1000 AS ORIGINAL_ENTITY_CREATION_TIME,
    UNIX_TIMESTAMP(TIME_PERSISTED) * 1000 AS CREATED_TIME,
    UNIX_TIMESTAMP(TIME_PERSISTED) * 1000 AS UPDATED_TIME
FROM
    credential_store.CREDENTIALS
WHERE
    TOKEN_ID IN (
        SELECT
            DISTINCT RESOURCE_CS_TOKEN
        FROM
            app_catalog.GROUP_COMPUTE_RESOURCE_PREFERENCE
        WHERE
            RESOURCE_CS_TOKEN IS NOT NULL
            AND RESOURCE_CS_TOKEN != ''
            AND RESOURCE_CS_TOKEN NOT IN (
                SELECT
                    ENTITY_ID
                FROM
                    sharing_catalog.ENTITY
            )
            AND EXISTS (
                SELECT
                    1
                FROM
                    credential_store.CREDENTIALS
                WHERE
                    TOKEN_ID = RESOURCE_CS_TOKEN
            )
        UNION
        DISTINCT
        SELECT
            DISTINCT DEFAULT_CREDENTIAL_STORE_TOKEN
        FROM
            app_catalog.GROUP_RESOURCE_PROFILE
        WHERE
            DEFAULT_CREDENTIAL_STORE_TOKEN IS NOT NULL
            AND DEFAULT_CREDENTIAL_STORE_TOKEN != ''
            AND DEFAULT_CREDENTIAL_STORE_TOKEN NOT IN (
                SELECT
                    ENTITY_ID
                FROM
                    sharing_catalog.ENTITY
            )
            AND EXISTS (
                SELECT
                    1
                FROM
                    credential_store.CREDENTIALS
                WHERE
                    TOKEN_ID = DEFAULT_CREDENTIAL_STORE_TOKEN
            )
    );
{code}

> Missing sharing_catalog records for credential
> ----------------------------------------------
>
>                 Key: AIRAVATA-3296
>                 URL: https://issues.apache.org/jira/browse/AIRAVATA-3296
>             Project: Airavata
>          Issue Type: Bug
>            Reporter: Marcus Christie
>            Assignee: Marcus Christie
>            Priority: Major
>
> SEAGrid credentials in Default group resource profile are missing 
> sharing_catalog records. Perhaps because the owning user is not in the 
> sharing catalog.
> h5. TODO
> - [x] Check if there are any other instances of this problem and fix those up 
> too
> - [ ] create query to find other instances and write them to temporary table
> - [ ] create query to create ENTITY records
> - [ ] create query to create SHARING records for OWNER
> - [ ] create query to create SHARING records for Admins and Read Only Admins 
> groups



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to