Skip to content

Upgrade from 3.2 to 4.0

kamleshp edited this page Apr 3, 2017 · 13 revisions

R3.2 contrail could be provisioned using FAB or via Server-Manager. With R4.X, Contrail-Cloud provision must be via Server-Manager. FAB based provisioning has been deprecated and will not be supported R4.X onwards.

CHANGES IN BEHAVIOR with Contrail-Cloud v4.0:

  1. RabbitMQ Server and Neutron-Server would be running on Openstack node by default.
  2. All Contrail Services will run in containers (for more details, refer v4.0 documentation)

The following procedure lists the steps for upgrading Contrail-Cloud running v3.2 to v4.0. The script automating these steps is available, for details refer here.

The services and roles referred in this document may be running in separate nodes. User is expected to execute commands in nodes running the respective roles/services.

  1. Stop the following services: supervisor-analytics, supervisor-support-service, supervisor-database, contrail-database, supervisor-webui, supervisor-config, supervisor-control, haproxy (all nodes), redis-server (Analytics/Webui node), memcached (config nodes), neutron-server (Config node), zookeeper (Config node). e.g

      service supervisor-analytics stop
    
  2. Kill epmd process (Rabbitmq Service, Config node, usually runs config node)

  3. Verify none of the services above are running. E.g

      service supervisor-analytics status
    
  4. Prepare cluster.json and server.json as required for 4.X Server-Manager provisioning (Refer to Provision using 4.X Server-Manager)

  5. Provision the cluster and wait for provisioning to be completed. Check the status of provisioning using following command

    server-manager status server --cluster_id <cluster-id>
    
  6. On 3.2 config node edit cassandra config file (/etc/cassandra/cassandra.yaml), change listen port from 9160 to 29160 and start the service, else there may be port conflict with cassandra running inside container.

      rpc_port: 29160
      service cassandra start
    
  7. Connect to controller container, edit /usr/lib/python2.7/dist-packages/contrail_issu/issu_contrail_config.py, update cassandra server list like below. old_cassandra_address_list is 3.2 server cassandra ip/port. It is sufficient to provide single ip:port of R3.2 cassandra node.

     'old_cassandra_address_list': '192.168.100.102:29160',
     'new_cassandra_address_list': '10.84.5.236:9161’,
    
  8. Run cassandra sync between old and new config nodes, by executing following command. This will copy the cassandra config keyspaces from R3.2 nodes to R4.X cassandra. Wait for command to complete.

     contrail-issu-pre-sync
    
  9. Shutdown the cassandra service in R3.2 controller

  10. Upgrade of computes would reboot the compute nodes. This would shutoff the guest virtual-machine instances. Login to openstack node, Start the guest Virtual Machine instances using command below:

    nova start <instance_uuid>
    
Clone this wiki locally