Planning Analytics

 View Only
  • 1.  PAW Installations on WinSvr2016 from PAW2.0.76 onward

    Posted Mon November 14, 2022 12:54 PM
    Hi All

    I post this looking for a little guidance.

    We are running PAW2.0.73 at the moment on WinSvr2016 using the legacy Docker Compose setup.

    I am looking to upgrade to newer PAW releases but have noted that this is not possible in my current setup, and that there are some changes.

    Is it correct that the PAW software now includes the Docker components ?

    I've done plenty of upgrades so far but with this one, do I need to uninstall everything (including Docker Compose) and effectively "implement" PAW from scratch ?

    Any pointers would be gratefully welcomed.

    Thanks
    Ajay

    ------------------------------
    AJAY CHANDHOK
    ------------------------------

    #PlanningAnalyticswithWatson


  • 2.  RE: PAW Installations on WinSvr2016 from PAW2.0.76 onward

    Posted Mon November 14, 2022 04:07 PM
    Ajay,

    You should be able to upgrade as usual.  The Windows Server 2016 PAW installation package used to include Docker 20.10.9 up until version PAW 2.0.77, but no longer does. The version of Docker you have now for running PAW 2.0.73 should be fine to use for the upgrade to PAW 2.0.81, so don't uninstall Docker. You probably have Docker 19.3.11 or there about, that shipped with PAW 2.0.74.

    The Start.ps1 process calling DebugContainerHost.ps1 will validate that the Docker Engine service has been installed on the server during the upgrade, and if it already exists, it will pass the pre-requisites check, and will not check the version of Docker. It does check the version of docker-compose, but the PAW 2.0.81 installation zip file still has docker-compose included.

    However, newer releases of Docker for Windows exist, and can be obtained from Mirantis, who is taking ownership of Docker EE from Microsoft. The last release from Mirantis was for 20.10.13 from August that presumably has fixes and security updates more current than what IBM last shipped with PAW 2.0.77. If you need the latest security, you probably need to contact Mirantis.



    From an earlier post by me today:
    For PAW running on Windows 2016 or Windows 2019, you need to install a version of Docker ported to Windows. The Start.ps1 PowerShell script that IBM provides will call another script that verifies that all the pre-requisites are met such as the Windows Container feature being enabled and the Docker Engine running as a service. After PAW 2.0.77, the Windows script will tell you to get Docker from Mirantis if it does not find it on the server before the script can proceed with the rest of the PAW on Windows install. (If it finds Docker, the installation proceeds as usual).

    Microsoft was providing Docker as part of the server operating system license, and provided updates and support as well. Last year, Microsoft decided to stop this and sold/transferred their control of Docker EE for Windows to Mirantis, who will maintain the Windows port of Docker, and updates, etc. Similarly, Docker.com sold Docker EE for Linux to Mirantis in 2019. Mirantis renamed Docker EE to "Mirantis Container Runtime" or "MCR" for short. Mirantis will want to be compensated for this effort, and they put out a footnote I noticed that said that after April 30, 2023, you will need to purchase a license from Mirantis to get updates or support, which I assume means that the "install.ps1" they provide will no longer function or will change. I thought it worth noting that April 30th will probably mean a change in the cost of Docker for some clients.

    Here is their footnote from https://www.mirantis.com/docker-engine-enterprise-support/:

    "*A) Microsoft will provide support for Mirantis Container Runtime until April 30th, 2023. B) Customers are licensed to run, in perpetuity, only the number of copies of Mirantis Container Runtime obtained before April 30th, 2023 and no more. C) After April 30th, 2023, customers will not be able to get support, updates or patches from Microsoft or Mirantis for Mirantis Container Runtime unless they purchase a license from Mirantis. D) Customers can purchase a license to use a fully supported version of Mirantis Container Runtime from Mirantis at any time."

    ------------------------------
    Walter Coffen
    Technology Manager
    QueBIT Consulting, LLC
    ------------------------------



  • 3.  RE: PAW Installations on WinSvr2016 from PAW2.0.76 onward

    Posted Tue November 15, 2022 10:32 AM
    Thankyou Walter for your detailed reply.

    We implemented PAW 2.0.53 back in the "Classic" days, so have Docker version 18.09.6 and Docker Compose version 1.23.2

    We are running PAW 2.0.73 at the moment and my plan is to head up to 2.0.81 but I had read this information about Docker (MCR) which freaked me out a bit.

    On actioning /Start.ps1, based on your comment, I should see green ticks against the "Does Docker service exist?" etc etc in the Powershell window, but when it reaches "Checking that docker-compose.exe is at least 1.23.0?" is there a new base version which it will look for ? and if so will it also bypass this and use the docker-compose version shipped within the PAW 2.0.81 folder ?

    Sorry for the questions, just want to be prepared for these things. Upgrading in a Windows and McAfee environment is not as straightforward as Linux unfortunately.

    Ajay

    ------------------------------
    AJAY CHANDHOK
    ------------------------------



  • 4.  RE: PAW Installations on WinSvr2016 from PAW2.0.76 onward

    Posted Tue November 15, 2022 01:47 PM
    Ajay,

    The IBM Software Compatibility Report for PA 2.0.9.15, the latest release, says that they support Docker 17, 18.03, and 18.09, yet they shipped Docker 20.10.9 with PAW 2.0.77 for Windows 2016. There were about 23 updates to a version 19.03 not on the compatibility report. The Compatibility Report  is probably stale, but it probably should be compelling for you that 20.10.9 was shipped by IBM as recently as June and you are on 18.09.6 from 2020.

    A recent Windows 2016 "Docker" upgrade I did was annoying. I ended up starting over with a clean Windows 2016 VM, doing a fresh PAW install that included the Mirantis install.ps1 step for Docker(MCR), and restoring from a /scripts/restore.ps1 PAW backup I had from before I started. ALWAYS run the backup.ps1 (or backup.sh on Linux) before doing anything! I don't think people upgrade Docker very often.

    The PAW installation zip file for Windows 2016 has included "docker-compose-Windows-x86_64.1.23.2.exe" for quite a while and still does.  The pre-requisite check that happens with 2.0.81 (below) should accept docker-compose 1.23.0 and newer. If you want, you can move your existing "\Program Files\docker\docker-compose.exe" elsewhere before running Start.ps1, and the PAW scripts should use the one that IBM includes, but you are already using 1.23.0, so I would think it passes. I have not tested doing that, but I believe docker-compose is just a self contained executable, no DLLs or service that needs registering, and just needs Docker fully installed to be able to do anything. You should be able to move docker-compose without Windows having a conniption, but Docker itself is a registered service, so don't change any of that unless you are upgrading it.

    You can see from the code, first it checks if docker-compose is present, and if not, it copies in the one that IBM ships. Then it checks the version, so an old release will pass the binary "it exists" check, but not the version check. Really, It should just check the version. If that generates an error OR is not enough, then it copies in the IBM one into place, but I still want other things in PAW first so it is extremely low on my wish list.
    FYI, from IBM script:
    
    Write-Host "Checking that docker-compose.exe is installed"
    $cmd=Get-Command docker-compose.exe -ErrorVariable err -ErrorAction SilentlyContinue
    if ($err.Count -ne 0) {
        $source = "$PSScriptRoot\..\software\docker-compose-Windows-x86_64.*.exe"
        $destination = "$env:ProgramFiles\docker\docker-compose.exe"
        Write-Host "Did not find docker-compose.exe, copying it to $destination"
        Copy-Item $source $destination
    }
    Write-Host @greenCheck
    
    Write-Host "Checking that docker-compose.exe is at least version 1.23.0"
    $compose_version=$(docker-compose -v)
    if ($compose_version -lt "docker-compose version 1.23.0") {
        Write-Host @redX
        WriteError "docker-compose.exe is version '${compose_version}'"
        WriteError "Upgrade it and try again."
        Exit 1
    }
    Write-Host @greenCheck​


    ------------------------------
    Walter Coffen
    Technology Manager
    QueBIT Consulting, LLC
    ------------------------------



  • 5.  RE: PAW Installations on WinSvr2016 from PAW2.0.76 onward

    Posted Tue November 15, 2022 01:53 PM

    Ajay,
    to echo all of Walter's posts (I think his last addressed your specific questions), yes you should be able to - - I recently helped a customer upgrade their very similar Dev & Prod old PAW environments  (Windows Server 2016, old Docker instance, classic PAW version).  
    Some "hands-on" steps to note:  
    1) upgrading PASS as a first step does help mitigate some extra steps/iterations
    2) having enough disk space: the PAW server must have enough space available to work in - the upgrade was able to complete (just) with 40 GB available while a request to allocate more space was pending.   Probably should aim to have 100 GB free for Windows PAW upgrades.
    3) backing up: making a pre-upgrade backup of PAW did require that the services were stopped prior to the backup script (which is different from my experience on Linux);   also had to make sure the backup itself looked complete (the first attempt file size was too small, and there was a comparison old backup as a benchmark size)
    4) ensuring the right approach: one error did occur when the 32-bit PowerShell was inadvertently used; using the 64-bit version ran ok of course.
    5) restarting PAW: a couple restarts (via the Admin Tool) were necessary as usual before  PAW was all set (successful log in).

    Running Start script (or paw.ps1 Start) did complete all the "green" checkpoints cleanly - - the old Docker checks all validated




    Regards,
    Sarah




    ------------------------------
    Sarah Milius
    Master Consultant
    QueBIT Consulting
    United States CT
    ------------------------------