diff --git a/apps/web/src/app/workspaces/workspaces.component.html b/apps/web/src/app/workspaces/workspaces.component.html index 89d6a4e75e9162e8d42f395a38f3aeaef2ff5e22..29b5c9d9d711ec71b05e6235e7a425071401c51f 100644 --- a/apps/web/src/app/workspaces/workspaces.component.html +++ b/apps/web/src/app/workspaces/workspaces.component.html @@ -11,6 +11,26 @@ Launch null capability </button> </div> + <div class="d-flex px-2"> + <button + type="button" + id="launchNullCapabilityCVBtn" + class="btn btn-secondary btn-lg" + (click)="nullCVButtonOnClick()" + > + Launch null at CV-NAASC + </button> + </div> + <div class="d-flex px-2"> + <button + type="button" + id="launchNullCapabilityNMTBtn" + class="btn btn-secondary btn-lg" + (click)="nullNMTButtonOnClick()" + > + Launch null at NMT + </button> + </div> </div> </div> <div class="container border rounded py-3 my-3"> diff --git a/apps/web/src/app/workspaces/workspaces.component.ts b/apps/web/src/app/workspaces/workspaces.component.ts index 945c7cb2b79a78aa67ddc5682b28f9a007e93517..d030db138b59cc004e1ab417ca532c44fb8595ad 100644 --- a/apps/web/src/app/workspaces/workspaces.component.ts +++ b/apps/web/src/app/workspaces/workspaces.component.ts @@ -37,6 +37,20 @@ export class WorkspacesComponent implements OnInit { this.launchCapability("null", { arguments: "-g" }); } + /** + * OnClick method that creates a capability request for the null capability and submits it to CV-NAASC + */ + nullCVButtonOnClick(): void { + this.launchCapability("null", { arguments: "-g", "remote-cv": true }); + } + + /** + * OnClick method that creates a capability request for the null capability and submits it to CV-NAASC + */ + nullNMTButtonOnClick(): void { + this.launchCapability("null", { arguments: "-g", remote: true }); + } + /** * OnClick method that creates a capability request a given capability and submits it with the standard parameters: * - Product locator diff --git a/schema/versions/257537f99abc_make_null_relocatable_for_testing.py b/schema/versions/257537f99abc_make_null_relocatable_for_testing.py new file mode 100644 index 0000000000000000000000000000000000000000..ac19756438aeeaa41dd6cf75ec79935f0dc09481 --- /dev/null +++ b/schema/versions/257537f99abc_make_null_relocatable_for_testing.py @@ -0,0 +1,73 @@ +"""make null relocatable for testing + +Revision ID: 257537f99abc +Revises: 42a9e35d0809 +Create Date: 2021-09-14 09:52:41.666489 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = "257537f99abc" +down_revision = "42a9e35d0809" +branch_labels = None +depends_on = None + +condor_content = """executable = null.sh +arguments = {{arguments}} + +output = null.out +error = null.err +log = condor.log +should_transfer_files = yes +transfer_input_files = /lustre/aoc/cluster/pipeline/$ENV(CAPO_PROFILE)/workspaces/sbin/null + +{{#remote-cv}} +#run on a condor node in CV-NAASC +requirements = (CVPOST == True) ++partition = "CVPOST" +{{/remote-cv}} + +{{#remote}} +#run on a NMT condor node. (naming consistent with vlass-seci) +requirements = (HasLustre =!= True) +{{/remote}} + +queue + +""" + + +old_content = """executable = null.sh +arguments = {{arguments}} + +output = null.out +error = null.err +log = null.log +should_transfer_files = yes +transfer_input_files = /lustre/aoc/cluster/pipeline/$ENV(CAPO_PROFILE)/workspaces/sbin/null + + +queue + +""" + + +def upgrade(): + op.execute( + f""" + UPDATE workflow_templates + SET content=E'{condor_content}' WHERE filename='null.condor' + """ + ) + + +def downgrade(): + op.execute( + f""" + UPDATE workflow_templates + SET content=E'{old_content}' WHERE filename='null.condor' + """ + ) diff --git a/schema/versions/42a9e35d0809_.py b/schema/versions/42a9e35d0809_.py new file mode 100644 index 0000000000000000000000000000000000000000..2eaec98311bbc728d5aab3b4bf1080d2ac6f6674 --- /dev/null +++ b/schema/versions/42a9e35d0809_.py @@ -0,0 +1,24 @@ +"""empty message + +Revision ID: 42a9e35d0809 +Revises: af3e4a4e7ede, 0953fe9fb794 +Create Date: 2021-09-14 09:52:37.645654 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '42a9e35d0809' +down_revision = ('af3e4a4e7ede', '0953fe9fb794') +branch_labels = None +depends_on = None + + +def upgrade(): + pass + + +def downgrade(): + pass