BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
EyalGonen
Lapis Lazuli | Level 10

Hi experts,

 

I am using SAS Mirror Manager and I am noticing something odd. I am using the "--deployment-assets" parameter to point to the deployment assets file downloaded from my.sas.com but it seems like SAS Mirror Manager is always downloading the latest release and not the release found in the deployment assets file.

 

According to the doc I expected it to download the same cadence and release found in the deployment assets file and not the latest release. I verified the downloaded release in the downloaded path:

 

../sas_repos/rel/stable/2024.04

 

I see there:

 

relFormatVersion":"0.0.1","name":"stable","version":"2024.04","latest":{"duList":"lod/stable/2024.04/20240511.1715441583768

But my deployment assets file name has a different release:

 

stable_2024.04_20240423.1713898974806

The command I am using is:

 

$MIRRORMGRPATH/mirrormgr mirror registry --path ${MIRRORPATH} --deployment-data ${ASSETSPATH}/${CERTSFILE} --deployment-assets ${ASSETSPATH}/${ASSETSFILE}

 

What am I missing here? Maybe I am looking in the wrong place.. where can I see/verify which release was downloaded by mirror manager?

1 ACCEPTED SOLUTION

Accepted Solutions
gwootton
SAS Super FREQ
Mirror Manager has a --release option you can use to specify the release to download. If this is not specified it will pull the most recent release.
The command I use is:

cadencerelease=$(grep -E 'Cadence.Release' sas-bases/checksums.txt | awk '{print $NF}')
...
mirrormgr mirror registry --destination "$mirror" --deployment-data "SASViyaV4_${order}_certs.zip" --username "$mirroruser" --password "$mirrorpass" --cadence "${cadence}-${version}" --release "${cadencerelease}" --workers 10
--
Greg Wootton | Principal Systems Technical Support Engineer

View solution in original post

18 REPLIES 18
gwootton
SAS Super FREQ
Mirror Manager has a --release option you can use to specify the release to download. If this is not specified it will pull the most recent release.
The command I use is:

cadencerelease=$(grep -E 'Cadence.Release' sas-bases/checksums.txt | awk '{print $NF}')
...
mirrormgr mirror registry --destination "$mirror" --deployment-data "SASViyaV4_${order}_certs.zip" --username "$mirroruser" --password "$mirrorpass" --cadence "${cadence}-${version}" --release "${cadencerelease}" --workers 10
--
Greg Wootton | Principal Systems Technical Support Engineer
EyalGonen
Lapis Lazuli | Level 10

Hi @gwootton 

 

According to the doc at https://go.documentation.sas.com/doc/en/itopscdc/v_051/dplyml0phy0dkr/n1h0rgtr10fpnfn1mg0s8fgfuof8.h...  it says:

 

 you can use the -–deployment-assets flag to pass in the cadence and release automatically.

So according to this if I specify --deployment-assets (as I did) it should pick up the cadence and  the release automatically from the file pointed by this parameter.

So maybe I am looking at the wrong place to verify which release it actually downloaded. Can you please help telling me how to identify which exact release was downloaded with mirror manager?

gwootton
SAS Super FREQ
Sorry, you are correct that --deployment-assets should do the same thing. Also it seems the default behavior has changed so when no release is supplied it downloads all of them.
When I look at my sas-bases/lod/stable/2024.04/ contents the release there matches the release I specified in the release options, so it sounds like mirrormgr is not working as expected.
What version of mirror manager are you using? (mirrormgr --version)
Did you download it recently?
--
Greg Wootton | Principal Systems Technical Support Engineer
EyalGonen
Lapis Lazuli | Level 10

Hi @gwootton 

 

My mirror manager version version is

 

mirrormgr:
version : v0.36.1
build date : 2023-12-08
git hash : a02be0f
go version : go1.21.4 X:boringcrypto
go compiler : gc
platform : linux/amd64

 

So what you are saying is that to verify which release was actually downloaded I need to look at "sas-repo/lod/stable/2024.04/ "? I should see there a folder with the release that was downloaded? This is the way to verify what was downloaded?

gwootton
SAS Super FREQ
@EyalGonen yes, the directories in that path would be for the various releases that have been downloaded. From the file you mentioned initially, it seems to have the release within an JSON object called "latest", so it may be that this was not what was downloaded and just the details on that cadence and version.
--
Greg Wootton | Principal Systems Technical Support Engineer
EyalGonen
Lapis Lazuli | Level 10

Hi @gwootton 

 

Initially I did not know where to look to understand what was actually downloaded so I looked in the wrong place. Now in the folder you mentioned I have two files: one with the correct version (same as deployment assets) and another which is with a bit newer version:

 

-rw-r--r--. 1 ec2-user ec2-user 6302589 May 13 14:51 20240423.1713898974806
-rw-r--r--. 1 ec2-user ec2-user 6303778 May 11 16:19 20240511.1715441583768

 

I am not sure what I did anymore 🙂

 

I think I will delete and re-download and see what happens. I will update. Thanks a lot!

EyalGonen
Lapis Lazuli | Level 10

So I think I messed things up 🙂

 

I just checked and if I use the --deployment-assets flag then mirror manager automatically selects and downloads the cadence and release specified in the deployment assets file. 

 

I am not sure how I ended up with two downloaded releases before...

 

Thanks @gwootton  for your help!

EyalGonen
Lapis Lazuli | Level 10

Hi @gwootton 

 

One more general question about this subject: can I use mirror manager to download new releases of the same cadence version to the same download location I used to download earlier releases? 

Same question this time about downloading difference version of the same cadence to the same folder (for example, stable 2024.04 and stable 2024.05).

Same question about different cadences (for example stable 2024.04 and lts 2023.10)

 

Thanks,

Eyal

gwootton
SAS Super FREQ
@EyalGonen yes, you can use the same location, what you end up with is in the repo path under docker/v2/viya-4-x64_oci_linux_2-docker paths for each image and version associated with each release downloaded.
--
Greg Wootton | Principal Systems Technical Support Engineer
EyalGonen
Lapis Lazuli | Level 10

Hi @gwootton and all,

 

How can I use SAS Mirror Manager to remove a specific release that was uploaded to AWS ECR?

 

For example, let's say I upload to ECR three different SAS Viya releases Stable 2024.05, 2024.06, 2024.07 and I want to delete one of them from ECR.

gwootton
SAS Super FREQ
@EyalGonen I don't believe SAS Mirror Manager has such a function.
--
Greg Wootton | Principal Systems Technical Support Engineer
EyalGonen
Lapis Lazuli | Level 10

Hi @gwootton 

 

So how do you cleanup the ECR?

 

If I do multiple SAS Viya upgrades, each time I load the new release to ECR and it starts filling up with many images from different releases. Each release is ~80GB.

I found an option for SAS Mirror Manager called "--remove-old" but not sure if it is valid for ECR nor how to exactly use it. I am kind of afraid to run it as I am not sure what it does.

 

Please advise.

gwootton
SAS Super FREQ
@EyalGonen I tested running with the --remove-old option and received this message:
Flag --remove-old has been deprecated, please use --remove-after-upload, and that option would only remove from the local repo after they've been uploaded, so I don't think that would do what you want.

It looks like ECR has lifecycle options you can configure:
https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html

It looks like one way you could do this is with the tagStatus of "tagged" and "imageCountMoreThan" countType, which sounds like it would tell the ECR to remove all tagged images older than the last n images pushed.
--
Greg Wootton | Principal Systems Technical Support Engineer
JuanS_OCS
Amethyst | Level 16
Silly answer but, besides the SAS tool or the policies you could still use the ECR CLI or webtool to delete images?

aws ecr batch-delete-image --repository-name <repository_name> --image-ids imageTag=<tag>

suga badge.PNGThe SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment. 

Join SUGA 

Get Started with SAS Information Catalog in SAS Viya

SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 18 replies
  • 3251 views
  • 4 likes
  • 3 in conversation