Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P2 Create Solution Template Blades correctly #36

Closed
robe070 opened this issue Aug 7, 2020 · 38 comments
Closed

P2 Create Solution Template Blades correctly #36

robe070 opened this issue Aug 7, 2020 · 38 comments
Assignees
Labels

Comments

@robe070
Copy link
Owner

robe070 commented Aug 7, 2020

This is the third part of producing the new Solution Template, final submission. The new UI interface blades.

The sequence of events around creating the Solution Template are summarised below

  1. P2 Allow template to be used to test new images #33 Allow template to be used to test new images
  2. P2 Create an initial Solution Template submission to Azure MarketPlace #35 Allow the publication process to begin
  3. P2 Create Solution Template Blades correctly #36 Final submission

#24 describes the UI process at a high level, requiring Architect involvement in what parameters will be on what blades.

@github-actions
Copy link

Heads up - this issue was moved between project columns. cc @VarunChopraAccolite, @ashutosh-kumar1

@robe070
Copy link
Owner Author

robe070 commented Aug 14, 2020

Add remaining parameters in

{       
    "Virtual Machine Settings blade" => "Virtual Machine blade"
    
    "Database Settings Blade" => "Database blade"

    "Application Gateway Blade"

      "applicationGatewaySkuTier": {
         "type": "string",
         "allowedValues": [
            "Standard",
            "WAF"
         ],
         "defaultValue": "Standard",
         "metadata": {
            "description": "Application Gateway SKU Tier"
         }
      },
      "applicationGatewaySkuName": {
         "type": "string",
         "allowedValues": [
            "Standard_Small",
            "Standard_Medium",
            "Standard_Large",
            "WAF_Medium",
            "WAF_Large",
            "WAF_v2"
         ],
         "defaultValue": "Standard_Medium",
         "metadata": {
            "description": "Application Gateway SKU Name"
         }
      },
      "applicationGatewayCapacity": {
         "type": "int",
         "defaultValue": 2,
         "metadata": {
            "description": "Number of Application Gateway instances"
         }
      },


"Database Blade"

      "collation": {
         "type": "string",
         "defaultValue": "SQL_Latin1_General_CP1_CI_AS",
         "metadata": {
            "description": "New DB. The new database collation for governing the proper use of characters."
         }
      },
      "edition": {
         "type": "string",
         "defaultValue": "Standard",
         "allowedValues": [
            "Basic",
            "Standard",
            "Premium"
         ],
         "metadata": {
            "description": "New DB. The type of database to create."
         }
      },
      "requestedServiceObjectiveName": {
         "type": "string",
         "defaultValue": "S2",
         "allowedValues": [
            "Basic",
            "S0",
            "S1",
            "S2",
            "S3",
            "S4",
            "S6",
            "S7",
            "S9",
            "S12",
            "P1",
            "P2",
            "P4",
            "P6",
            "P11",
            "P15"
         ],
         "metadata": {
            "description": "New DB. Describes the performance level for Edition"
         }
      },
      "maxSizeBytes": {
         "type": "string",
         "defaultValue": "1073741824",
         "metadata": {
            "description": "New DB. The maximum size, in bytes, for the new database"
         }
      },


"Virtual Machine Blade"

      "webServerMaxConnect": {
         "type": "string",
         "defaultValue": "20",
         "metadata": {
            "description": "The maximum number of LANSA jobs to run on each Web Server. Setting triggerWebConfig will cause this value to be updated."
         }
      },

"Installation Options Blade"
      "installMSI": {
         "type": "string",
         "defaultValue": "0",
         "metadata": {
            "description": "Install the MSI: Set this to 1 to execute an MSI install. Usually set to 0 when updating the stack"
         }
      },
      "updateMSI": {
         "type": "string",
         "defaultValue": "0",
         "metadata": {
            "description": "Update Stack: Set this to 1 to execute an MSI Upgrade. Obtains the specified MSI and installs it. Ensure the LansaMSI parameter is set correctly. If the LansaMSI parameter is not different a repair will be performed"
         }
      },
      "uninstallMSI": {
         "type": "string",
         "defaultValue": "0",
         "metadata": {
            "description": "Uninstall the MSI: Set this to 1 to uninstall the MSI. The MSI used to uninstall, is the last one that was installed. It is called c:\\lansa\\MyApp.msi"
         }
      },
      "triggerWebConfig": {
         "type": "string",
         "defaultValue": "0",
         "metadata": {
            "description": "Update Stack: Set this to 1 to update the web configuration"
         }
      },
      "gitBranch": {
         "type": "string",
         "defaultValue": "support/L4W14200_scalable",
         "metadata": {
            "description": "Git Branch"
         }
      },
      "trace": {
         "type": "string",
         "defaultValue": "N",
         "allowedValues": [
            "Y",
            "N"
         ],
         "metadata": {
            "description": "Switch tracing on. Allowed values Y or N"
         }
      },
      "fixLicense": {
         "type": "string",
         "defaultValue": "0",
         "metadata": {
            "description": "Re-run licensing. It is unlikely that this parameter needs to be used"
         }
      }
}

@robe070
Copy link
Owner Author

robe070 commented Aug 14, 2020

Security Blade feedback
image

@robe070
Copy link
Owner Author

robe070 commented Aug 14, 2020

Stack Name - length 9. alphabetic plus '-'. (No numerics. No special chars. No space)

All UID/passwords, no space

@ashutosh-kumar1
Copy link

Thanks for the inputs @robe070.
The changes have been done and a PR is raised for the same: lansa/azure-quickstart-templates#6
Note: Validation of the 'stack name' field has been done as per its description. Please confirm if I need to update it to the one you have stated above.
Also, I am awaiting list of VM sizes if I need to update the size fields implementation to a dropdown.

@robe070
Copy link
Owner Author

robe070 commented Aug 17, 2020

Here is virtualMachineSize. I'll do dbvirtualMachineSize tomorrow

          {
            "name": "virtualMachineSize",
            "type": "Microsoft.Compute.SizeSelector",
            "label": "",
            "toolTip": "",
            "recommendedSizes": [
              "Standard_B4ms",
              "Standard_B8ms",
              "Standard_B12ms",
              "Standard_B16ms",
              "Standard_B20ms",
              "Standard_DS2_v2",
              "Standard_DS3_v2",
              "Standard_DS4_v2"
            ],
            "constraints": {
              "required": true,
              "allowedSizes": [
"Standard_B1ls",
"Standard_B1ms",
"Standard_B1s",
"Standard_B2ms",
"Standard_B2s",
"Standard_B4ms",
"Standard_B8ms",
"Standard_B12ms",
"Standard_B16ms",
"Standard_B20ms",
"Standard_DS1_v2",
"Standard_DS2_v2",
"Standard_DS3_v2",
"Standard_DS4_v2",
"Standard_DS5_v2",
"Standard_DS11-1_v2",
"Standard_DS11_v2",
"Standard_DS12-1_v2",
"Standard_DS12-2_v2",
"Standard_DS12_v2",
"Standard_DS13-2_v2",
"Standard_DS13-4_v2",
"Standard_DS13_v2",
"Standard_DS14-4_v2",
"Standard_DS14-8_v2",
"Standard_DS14_v2",
"Standard_DS15_v2",
"Standard_DS2_v2_Promo",
"Standard_DS3_v2_Promo",
"Standard_DS4_v2_Promo",
"Standard_DS5_v2_Promo",
"Standard_DS11_v2_Promo",
"Standard_DS12_v2_Promo",
"Standard_DS13_v2_Promo",
"Standard_DS14_v2_Promo",
"Standard_F1s",
"Standard_F2s",
"Standard_F4s",
"Standard_F8s",
"Standard_F16s",
"Standard_D2s_v3",
"Standard_D4s_v3",
"Standard_D8s_v3",
"Standard_D16s_v3",
"Standard_D32s_v3",
"Standard_D1_v2",
"Standard_D2_v2",
"Standard_D3_v2",
"Standard_D4_v2",
"Standard_D5_v2",
"Standard_D11_v2",
"Standard_D12_v2",
"Standard_D13_v2",
"Standard_D14_v2",
"Standard_D2_v2_Promo",
"Standard_D3_v2_Promo",
"Standard_D4_v2_Promo",
"Standard_D5_v2_Promo",
"Standard_D11_v2_Promo",
"Standard_D12_v2_Promo",
"Standard_D13_v2_Promo",
"Standard_D14_v2_Promo",
"Standard_F1",
"Standard_F2",
"Standard_F4",
"Standard_F8",
"Standard_F16",
"Standard_A1_v2",
"Standard_A2m_v2",
"Standard_A2_v2",
"Standard_A4m_v2",
"Standard_A4_v2",
"Standard_A8m_v2",
"Standard_A8_v2",
"Standard_D2_v3",
"Standard_D4_v3",
"Standard_D8_v3",
"Standard_D16_v3",
"Standard_D32_v3",
"Standard_D48_v3",
"Standard_D64_v3",
"Standard_D48s_v3",
"Standard_D64s_v3",
"Standard_E2_v3",
"Standard_E4_v3",
"Standard_E8_v3",
"Standard_E16_v3",
"Standard_E20_v3",
"Standard_E32_v3",
"Standard_E48_v3",
"Standard_E64_v3",
"Standard_E2s_v3",
"Standard_E4-2s_v3",
"Standard_E4s_v3",
"Standard_E8-2s_v3",
"Standard_E8-4s_v3",
"Standard_E8s_v3",
"Standard_E16-4s_v3",
"Standard_E16-8s_v3",
"Standard_E16s_v3",
"Standard_E20s_v3",
"Standard_E32-8s_v3",
"Standard_E32-16s_v3",
"Standard_E32s_v3",
"Standard_E48s_v3",
"Standard_E64-16s_v3",
"Standard_E64-32s_v3",
"Standard_E64s_v3",
"Standard_A0",
"Standard_A1",
"Standard_A2",
"Standard_A3",
"Standard_A5",
"Standard_A4",
"Standard_A6",
"Standard_A7",
"Basic_A0",
"Basic_A1",
"Basic_A2",
"Basic_A3",
"Basic_A4",
"Standard_D15_v2",
"Standard_E64i_v3",
"Standard_E64is_v3",
"Standard_M208ms_v2",
"Standard_M208s_v2",
"Standard_M416-208s_v2",
"Standard_M416s_v2",
"Standard_M416-208ms_v2",
"Standard_M416ms_v2",
"Standard_H8",
"Standard_H8_Promo",
"Standard_H16",
"Standard_H16_Promo",
"Standard_H8m",
"Standard_H8m_Promo",
"Standard_H16m",
"Standard_H16m_Promo",
"Standard_H16r",
"Standard_H16r_Promo",
"Standard_H16mr",
"Standard_H16mr_Promo",
"Standard_NV6",
"Standard_NV12",
"Standard_NV24",
"Standard_NV6_Promo",
"Standard_NV12_Promo",
"Standard_NV24_Promo",
"Standard_NV6s_v2",
"Standard_NV12s_v2",
"Standard_NV24s_v2",
"Standard_NV12s_v3",
"Standard_NV24s_v3",
"Standard_NV48s_v3",
"Standard_HB120rs_v2",
"Standard_NC6s_v2",
"Standard_NC12s_v2",
"Standard_NC24rs_v2",
"Standard_NC24s_v2",
"Standard_F2s_v2",
"Standard_F4s_v2",
"Standard_F8s_v2",
"Standard_F16s_v2",
"Standard_F32s_v2",
"Standard_F48s_v2",
"Standard_F64s_v2",
"Standard_F72s_v2",
"Standard_NC6",
"Standard_NC12",
"Standard_NC24",
"Standard_NC24r",
"Standard_NC6_Promo",
"Standard_NC12_Promo",
"Standard_NC24_Promo",
"Standard_NC24r_Promo",
"Standard_D1",
"Standard_D2",
"Standard_D3",
"Standard_D4",
"Standard_D11",
"Standard_D12",
"Standard_D13",
"Standard_D14",
"Standard_L8s_v2",
"Standard_L16s_v2",
"Standard_L32s_v2",
"Standard_L48s_v2",
"Standard_L64s_v2",
"Standard_L80s_v2",
"Standard_DC8_v2",
"Standard_DC1s_v2",
"Standard_DC2s_v2",
"Standard_DC4s_v2",
"Standard_E2_v4",
"Standard_E4_v4",
"Standard_E8_v4",
"Standard_E16_v4",
"Standard_E20_v4",
"Standard_E32_v4",
"Standard_E2d_v4",
"Standard_E4d_v4",
"Standard_E8d_v4",
"Standard_E16d_v4",
"Standard_E20d_v4",
"Standard_E32d_v4",
"Standard_E2s_v4",
"Standard_E4-2s_v4",
"Standard_E4s_v4",
"Standard_E8-2s_v4",
"Standard_E8-4s_v4",
"Standard_E8s_v4",
"Standard_E16-4s_v4",
"Standard_E16-8s_v4",
"Standard_E16s_v4",
"Standard_E20s_v4",
"Standard_E32-8s_v4",
"Standard_E32-16s_v4",
"Standard_E32s_v4",
"Standard_E2ds_v4",
"Standard_E4-2ds_v4",
"Standard_E4ds_v4",
"Standard_E8-2ds_v4",
"Standard_E8-4ds_v4",
"Standard_E8ds_v4",
"Standard_E16-4ds_v4",
"Standard_E16-8ds_v4",
"Standard_E16ds_v4",
"Standard_E20ds_v4",
"Standard_E32-8ds_v4",
"Standard_E32-16ds_v4",
"Standard_E32ds_v4",
"Standard_D2d_v4",
"Standard_D4d_v4",
"Standard_D8d_v4",
"Standard_D16d_v4",
"Standard_D32d_v4",
"Standard_D48d_v4",
"Standard_D64d_v4",
"Standard_D2_v4",
"Standard_D4_v4",
"Standard_D8_v4",
"Standard_D16_v4",
"Standard_D32_v4",
"Standard_D48_v4",
"Standard_D64_v4",
"Standard_D2ds_v4",
"Standard_D4ds_v4",
"Standard_D8ds_v4",
"Standard_D16ds_v4",
"Standard_D32ds_v4",
"Standard_D48ds_v4",
"Standard_D64ds_v4",
"Standard_D2s_v4",
"Standard_D4s_v4",
"Standard_D8s_v4",
"Standard_D16s_v4",
"Standard_D32s_v4",
"Standard_D48s_v4",
"Standard_D64s_v4",
"Standard_NP10s",
"Standard_NP20s",
"Standard_NP40s",
"Standard_DS1",
"Standard_DS2",
"Standard_DS3",
"Standard_DS4",
"Standard_DS11",
"Standard_DS12",
"Standard_DS13",
"Standard_DS14",
"Standard_D2a_v4",
"Standard_D4a_v4",
"Standard_D8a_v4",
"Standard_D16a_v4",
"Standard_D32a_v4",
"Standard_D48a_v4",
"Standard_D64a_v4",
"Standard_D96a_v4",
"Standard_D2as_v4",
"Standard_D4as_v4",
"Standard_D8as_v4",
"Standard_D16as_v4",
"Standard_D32as_v4",
"Standard_D48as_v4",
"Standard_D64as_v4",
"Standard_D96as_v4",
"Standard_E2a_v4",
"Standard_E4a_v4",
"Standard_E8a_v4",
"Standard_E16a_v4",
"Standard_E20a_v4",
"Standard_E32a_v4",
"Standard_E48a_v4",
"Standard_E64a_v4",
"Standard_E96a_v4",
"Standard_E2as_v4",
"Standard_E4as_v4",
"Standard_E8as_v4",
"Standard_E16as_v4",
"Standard_E20as_v4",
"Standard_E32as_v4",
"Standard_E48as_v4",
"Standard_E64as_v4",
"Standard_E96as_v4",
"Standard_HC44rs",
"Standard_ND6s",
"Standard_ND12s",
"Standard_ND24rs",
"Standard_ND24s",
"Standard_ND40rs_v2",
"Standard_DC2s",
"Standard_DC4s",
"Standard_M64",
"Standard_M64m",
"Standard_M128",
"Standard_M128m",
"Standard_M8-2ms",
"Standard_M8-4ms",
"Standard_M8ms",
"Standard_M16-4ms",
"Standard_M16-8ms",
"Standard_M16ms",
"Standard_M32-8ms",
"Standard_M32-16ms",
"Standard_M32ls",
"Standard_M32ms",
"Standard_M32ts",
"Standard_M64-16ms",
"Standard_M64-32ms",
"Standard_M64ls",
"Standard_M64ms",
"Standard_M64s",
"Standard_M128-32ms",
"Standard_M128-64ms",
"Standard_M128ms",
"Standard_M128s",
"Standard_NC6s_v3",
"Standard_NC12s_v3",
"Standard_NC24rs_v3",
"Standard_NC24s_v3",
"Standard_PB6s",
"Standard_HB60rs",
"Standard_ND40s_v3",
"Standard_E48_v4",
"Standard_E64_v4",
"Standard_E48d_v4",
"Standard_E64d_v4",
"Standard_E48s_v4",
"Standard_E64-16s_v4",
"Standard_E64-32s_v4",
"Standard_E64s_v4",
"Standard_E48ds_v4",
"Standard_E64-16ds_v4",
"Standard_E64-32ds_v4",
"Standard_E64ds_v4",
"Standard_A8",
"Standard_A9",
"Standard_A10",
"Standard_A11",
"Standard_NV4as_v4",
"Standard_NV8as_v4",
"Standard_NV16as_v4",
"Standard_NV32as_v4"
              ]
            },
            "osPlatform": "Windows",
          }
        ]
      },

@robe070
Copy link
Owner Author

robe070 commented Aug 17, 2020

Actually, I wonder whether all VM sizes are listed if allowedSizes is empty and excludedSizes are both empty. Does it show all available sizes in the subscription?

@ashutosh-kumar1
Copy link

Yes, @robe070. It shows all the possible VM sizes and fades out the ones that are not available for the subscription/location. I have implemented and pushed the changes in the PR. Please review and let me know if anything else is required.

@robe070
Copy link
Owner Author

robe070 commented Aug 17, 2020

I'm glad that worked. Looks good.

I notice there are properties for the count & SKU too. Please add this:
image

@robe070
Copy link
Owner Author

robe070 commented Aug 17, 2020

This parameter should only appear for new
image

@ashutosh-kumar1
Copy link

@robe070, All the above mentioned changes are incorporated. Are there more changes required as a part of this issue?
If not, please close this issue.

@robe070 robe070 closed this as completed Aug 20, 2020
@github-actions
Copy link

Heads up - this issue was moved between project columns. cc @VarunChopraAccolite, @ashutosh-kumar1, @pratap-accolite

@robe070 robe070 reopened this Aug 25, 2020
@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

Azure Support have identified the issue with custom parameters being drawn at the top of the Basic blade - you have been using the incorrect tool. This is the correct tool:

https://portal.azure.com/?feature.customPortal=false#blade/Microsoft_Azure_CreateUIDef/SandboxBlade

So, we need to re-arrange the parameters a little the way that I originally intended.

These 3 fields to be moved to the Basic blade:

chrome_2020-08-25_12-33-16

And the whole of the Virtual Machine blade moved to Basic. This may be too much for the Basic blade so I'll need to review how it looks:

image

@ashutosh-kumar1
Copy link

Hi @robe070,
I have updated the createUiDefinition file. Please verify the updated file createUiDefinitionUpdated.txt

I would also like to add that I was successfully able to validate the template by reaching the review+create screen but I can see some yellow lines in my VS code. Hope it should not be an issue.
issues w r t  createUiDefinition

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

@ashutosh-kumar1
Looks good, except please move Minimum Instance Count to where it was below the VM sizes

@ashutosh-kumar1
Copy link

@robe070, Also, verify the position of minimum instance count above the VM sizes. This is because I was getting an error on console when I placed it below the VM sizes. This may be caused as the VM size is dependent upon its value.
Can we put the instances count above? i.e. also put the maximum count above the sizes?

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

@ashutosh-kumar1
I wonder if the error is just a Sandbox error? Have you tried running it in the Azure Portal?

@ashutosh-kumar1
Copy link

ashutosh-kumar1 commented Aug 25, 2020

No. @robe070, can you guide me on how to verify it in the Azure Portal?
The minimum instance block code needs to be cut and then pasted between the dbVMSize and maximum instance count and verified. Attaching error:
console error for UI

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

I cannot find a way to verify it apart from this Sandbox, the ARM TTK and thence once its in Preview running in the Portal.

Have you run the ARM TTK?

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

I've reconsidered after seeing your screen NOT show the Virtual Machine parameters, and the error you are seeing.

Please reinstate the Virtual Machine blade.

But leave the Stack Name, LANSA Version and MSI URL on the Basics blade.

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

ps I have an ongoing Azure support query to clarify how a Solution Template may be run entirely from the command line.

@ashutosh-kumar1
Copy link

ARM TTK is running successfully for both the positions of minimum instance count. Also, the template is returning proper JSON. I think the console error can be ignored.
Adding few observations:

  1. The VM size will take some time to load and grey out for a short duration when the screen loads for the first time. The same happens on changing the region.
  2. Updated the default branch to support/scalable as per your commit.

@ashutosh-kumar1
Copy link

I've reconsidered after seeing your screen NOT show the Virtual Machine parameters, and the error you are seeing.

Please reinstate the Virtual Machine blade.

But leave the Stack Name, LANSA Version and MSI URL on the Basics blade.

As per my screen resolution, yes the other parameters are not visible and need to be scrolled to edit.
Should I reinstate the Virtual Machine blade?
@robe070, Please confirm.

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

@ashutosh-kumar1
Well if it looks like its working, then the issue left is the screen real estate. Is there enough?

I think you should commit it with everything on the Basics blade, and I'll see how it looks on various monitor sizes.

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

...becasue the Sandbox may be using less screen than when its running in the Portal

@ashutosh-kumar1
Copy link

Sure @robe070. Let me commit it as VM parameters in the Basic blade. Please verify in the preview phase and provide me feedback for changes required.

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

@ashutosh-kumar1
Will you submit the PR soon?

@ashutosh-kumar1
Copy link

@robe070, PR submitted. Please review and merge. Validations might fail in pipeline for now as the newly added test image version task is failing. Please approve.

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

@ashutosh-kumar1
Approved.

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

@ashutosh-kumar1
I'm about to go into a long meeting and need to grab some dinner first. Could you create a zip file with the UI and template in it only and send it to me ASAP and I may be able to submit it to AMP before 7 pm ( 27 mins)

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

@ashutosh-kumar1
I've found time to do it myself, so no need for the zip file

@robe070
Copy link
Owner Author

robe070 commented Aug 25, 2020

@ashutosh-kumar1
I've submitted the updates to AMP. It should take less than 2 hours to get to preview. I'll check after my meeting after 9 pm

@ashutosh-kumar1
Copy link

@robe070, Just saw your message. Was out for lunch. Sorry about that. Thanks for submitting the zip. Please update me if any changes are required post verification.

@github-actions
Copy link

Heads up - this issue was moved between project columns. cc @VarunChopraAccolite, @ashutosh-kumar1, @pratap-accolite

@ashutosh-kumar1
Copy link

@robe070, Awaiting feedback for any further required changes.

@robe070
Copy link
Owner Author

robe070 commented Aug 27, 2020

@ashutosh-kumar1
Virtual Machine Size => App Virtual Machine Size
Db Machine Size => DB Admin Virtual Machine Size
image

Mispelling certificate
image

Move these parameters to the bottom of the Database blade:
image

@ashutosh-kumar1
Copy link

@robe070, PR is raised for the above-mentioned changes. Please review and merge: lansa/azure-quickstart-templates#13

@robe070 robe070 closed this as completed Aug 27, 2020
@github-actions
Copy link

github-actions bot commented Sep 1, 2020

Heads up - this issue was moved between project columns. cc @VarunChopraAccolite, @ashutosh-kumar1, @pratap-accolite

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants