Upgrade vCloud Director for Service Provider to 9.7

Upgrade to 9.7 is little bit more complicated, because you need to upgrade (if you are using it) PostgreSQL.

Step-by-step guide

  1. Put vCloud Director + PostgreSQL DB vm’s into maintenance in monitoring system.
  2. SSH to vCloud VM and shutdown services:

    /etc/init.d/vmware-vcd stop

  3. Start nginx or apache to show temporary web page (this needs to be configured ahead). It’s just for cases, that users are trying to connect and you don’t want to have a lot of calls/tickets why the vCloud is not running/etc/init.d/nginx start
  4. Check that the temporary page is visible.
  5. Do + check a vCloud vm + vCloud DB vm backup

    do a PostgreDB backup

    1. check free spacedf -hsu – postgrespg_dump vcloud > /var/lib/pgsql/vcloud-backup_20200202.sql

    2. check that backup is not zerols -la /var/lib/pgsql/vcloud-backup_20200202.sql

    3. output must look similar to this:-rw-r–r– 1 postgres postgres 4114824617 Feb 2 22:03 /var/lib/pgsql/vcloud-backup_20200202.sql

  6. Do snapshots on both  VMs “vCloud Director” + “PostgreSQL DB”
  7. Installation and upgrade PostgreSQL DB to v.10

    yum install postgresql10-server

    sudo systemctl stop postgresql-9.6.service && sudo systemctl stop postgresql-10.service

    systemctl stop postgresql-9.6.service

    su postgres

    /usr/pgsql-10/bin/initdb -E UTF8 –locale=en_US.UTF-8 -D /var/lib/pgsql/10/data/

    /usr/pgsql-10/bin/pg_upgrade –old-datadir /var/lib/pgsql/9.6/data/ –new-datadir /var/lib/pgsql/10/data/ –old-bindir /usr/pgsql-9.6/bin/ –new-bindir /usr/pgsql-10/bin/

    change /var/lib/pgsql/10/data/pg_hba.conf same as /var/lib/pgsql/9.6/data/pg_hba.conf

    # TYPE DATABASE USER ADDRESS METHOD
    # “local” is for Unix domain socket connections only
    local all all trust
    # IPv4 local connections:
    host all all 127.0.0.1/32 trust
    # IPv6 local connections:
    host all all ::1/128 trust
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    #local replication all trust
    #host replication all 127.0.0.1/32 trust
    #host replication all ::1/128 trust
    host all all 0.0.0.0/0 md5

    vi /var/lib/pgsql/10/data/postgresql.conf

    listen_addresses = ‘*’


    Disable PostgreSQL 9.6 and enable and start PostgreSQL 10

    systemctl disable postgresql-9.6.service
    systemctl enable postgresql-10.service
    systemctl start postgresql-10.service

    su postgres
    ./analyze_new_cluster.sh
    ./delete_old_cluster.sh

    Remove old PostgreSQL service

    yum remove postgresql96-server

  8. Check that vcloud DB user is owner of the DB in the postgress!!

    su postgres
    psql
    #list DB’s
    \l

    1. if not change owner of DB “vcloud” to user “vcloud” :ALTER DATABASE vcloud OWNER TO vcloud;
      \l
      \q

    2. optional you can do second DB backup on new PostgreSQL version
      pg_dump vcloud > /var/lib/pgsql/vcloud-backup_pg10_20190505.sql

  9. upgrade vCloud to 9.7
  10. Upload new version/patch to vCloud VM ( ./vmware-vcloud-director-distribution-9.7.0-14535248.bin )
    ensure that file is executable +x flag
    chmod a+x vmware-vcloud-director-distribution-9.7.0-14535248.bin
  11. Run the installation bin file
    ./vmware-vcloud-director-distribution-9.7.0-14535248.bin
  12. run upgrade script
    /opt/vmware/vcloud-director/bin/upgrade
  13. Dont start vCloudDriector services after upgrade DB. Manually started Nginx is running!
    /etc/init.d/nginx stop
    /etc/init.d/vmware-vcd start

  14. Reboot vCloud Director VM
    shutdown -r -t 1
  15. Check vCloud Director: https://_VCLOUD.DOMAIN/
  16. Run script for checking edge VM

    /opt/vmware/vcloud-director/bin/cell-management-tool edge-ip-allocation-updates –host vcloud.domain.xyz –user administrator –status/opt/vmware/vcloud-director/bin/cell-management-tool edge-ip-allocation-updates –host vcloud.domain.xyz –user administrator –update-ip-allocations
  17. After 1-2 business days delete snapshots + DB backup file.