Monday, March 21, 2016

Attempt to set up RDO Mitaka (RC1) at any given time (Delorean trunks)

UPDATE 04/13/2016

Switching to newly added Storage node on RDO Mitaka, after adding new
Storage Node to cluster via packstack

*****************************************************************************
Keystone database still contains IP of old Storage Server (Glance)
*****************************************************************************
[root@ip-192-169-142-127 ~(keystone_admin)]# mysql  --user  root --password=7207ae344ed04957  keystone -e "select interface, url from endpoint where service_id =  (select id from service where service.type = 'image');"

+-----------+-----------------------------+
| interface | url                         |
+-----------+-----------------------------+
| admin     | http://192.169.142.127:9292 |
| internal  | http://192.169.142.127:9292 |
| public    | http://192.169.142.127:9292 |
+-----------+-----------------------------+

**************************************************************************
Updating "url" field of endpoint table with IP of new Storage Server
***************************************************************************

[root@ip-192-169-142-127 ~(keystone_admin)]# mysql  --user root --password=7207ae344ed04957  keystone -e "update endpoint set   url  = 'http://192.169.142.117:9292' where  interface ='internal' and  service_id =  (select id from service where service.type = 'image');"

[root@ip-192-169-142-127 ~(keystone_admin)]# mysql  --user root --password=7207ae344ed04957  keystone -e "update endpoint set   url  = 'http://192.169.142.117:9292' where  interface ='public' and  service_id =  (select id from service where service.type = 'image');"

[root@ip-192-169-142-127 ~(keystone_admin)]# mysql  --user root --password=7207ae344ed04957  keystone -e "update endpoint set   url  = 'http://192.169.142.117:9292' where  interface ='admin' and  service_id =  (select id from service where service.type = 'image');"

***************************************
Make sure updates are done
***************************************

[root@ip-192-169-142-127 ~(keystone_admin)]# mysql  --user  root --password=7207ae344ed04957  keystone -e "select interface, url from endpoint where service_id =  (select id from service where service.type = 'image');"

+-----------+-----------------------------+
| interface | url                         |
+-----------+-----------------------------+
| admin     | http://192.169.142.117:9292 |
| internal  | http://192.169.142.117:9292 |
| public    | http://192.169.142.117:9292 |
+-----------+-----------------------------+

*****************************************************************************
Keystone database still contains IP of old Storage Server (Swift)
*****************************************************************************


[root@ip-192-169-142-127 ~(keystone_admin)]# mysql  --user  root --password=7207ae344ed04957  keystone -e "select interface, url from endpoint where service_id =  (select id from service where service.type = 'object-store');"

+-----------+---------------------------------------------------+
| interface | url                                               |
+-----------+---------------------------------------------------+
| internal  | http://192.169.142.127:8080/v1/AUTH_%(tenant_id)s |
| public    | http://192.169.142.127:8080/v1/AUTH_%(tenant_id)s |
| admin     | http://192.169.142.127:8080/v1/AUTH_%(tenant_id)s |
+-----------+---------------------------------------------------+

[root@ip-192-169-142-127 ~(keystone_admin)]# mysql  --user root --password=7207ae344ed04957  keystone -e "update endpoint set   url  = 'http://192.169.142.117:8080/v1/AUTH_%(tenant_id)s' where  interface ='admin' and  service_id =  (select id from service where service.type = 'object-store');"

[root@ip-192-169-142-127 ~(keystone_admin)]# mysql  --user root --password=7207ae344ed04957  keystone -e "update endpoint set   url  = 'http://192.169.142.117:8080/v1/AUTH_%(tenant_id)s' where  interface ='internal' and  service_id =  (select id from service where service.type = 'object-store');"

[root@ip-192-169-142-127 ~(keystone_admin)]# mysql  --user root --password=7207ae344ed04957  keystone -e "update endpoint set   url  = 'http://192.169.142.117:8080/v1/AUTH_%(tenant_id)s' where  interface ='public' and  service_id =  (select id from service where service.type = 'object-store');"

******************************************
 Make sure updates are done
******************************************

[root@ip-192-169-142-127 ~(keystone_admin)]# mysql  --user  root --password=7207ae344ed04957  keystone -e "select interface, url from endpoint where service_id =  (select id from service where service.type = 'object-store');"

+-----------+---------------------------------------------------+
| interface | url                                             |
+-----------+---------------------------------------------------+
| internal | http://192.169.142.117:8080/v1/AUTH_%(tenant_id)s |
| public    | http://192.169.142.117:8080/v1/AUTH_%(tenant_id)s |
| admin    | http://192.169.142.117:8080/v1/AUTH_%(tenant_id)s |
+-----------+---------------------------------------------------+


# service httpd restart

END UPDATE


Quoting  Official delorean documentation

"The RDO project has a continuous integration pipeline that consists of multiple jobs that deploy and test OpenStack as accomplished by different installers. This vast test coverage attempts to ensure that there are no known issues either in packaging, in code or in the installers themselves.Once a Delorean consistent repository has undergone these tests successfully, it will be promoted to current-passed-ci. Current-passed-ci represents the latest and greatest
version of RDO trunk packages that were tested together successfully"


Set up current-passed-ci repositories on all deployment nodes Controller,Storage,Compute. It might be not really needed ( if packstack at run-time copies repositories from Controller to other nodes), but won't hurt anyway.

# yum -y install yum-plugin-priorities
# cd /etc/yum.repos.d
# curl -O https://trunk.rdoproject.org/centos7-mitaka/delorean-deps.repo
# curl -O https://trunk.rdoproject.org/centos7-mitaka/current-passed-ci/delorean.repo

******************
On Controller
******************

# yum -y install openstack-packstack

[root@SeverMitaka01 ~]# rpm -qa \*openstack-packstack\*
openstack-packstack-puppet-8.0.0-0.20160316101826.9fd26e8.el7.centos.noarch
openstack-packstack-8.0.0-0.20160316101826.9fd26e8.el7.centos.noarch

*******************************************************************************
Answer file for testing  mentioned 3 node deployment is here
*******************************************************************************

Two deployments done bellow intentionally test ability to add Storage Node
and hack keystone endpoint table to switch to new Swift Server


First test is simplest  two node cluster (Controller,Compute) install completed



*****************************************************************************
   Final configuration was obtained after adding Storage Node using
   EXCLUDE_SERVERS=192.169.142.127,192.169.142.137
   . . . . . . .
   CONFIG_UNSUPPORTED=y
   . . . . . . .
   CONFIG_STORAGE_HOST=192.169.142.157
   . . . . . . .  
   CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
   CONFIG_NEUTRON_OVS_TUNNEL_SUBNETS=12.0.0.0/24
 
  and updating keystone endpoint right inside keystone database
   for swift-proxy pointing to IP of added Server instead of  Controller
   been used for simplest two node Cluster test.
   Running packstack with answer-file posted at link "here" is supposed
   to create three node deployment via single run and create correct
   endpoints for all storage services  glance,cinder,swift  pointing  to
   192.169.142.157.
     So, CONFIG_UNSUPPORTED=y seems to work for oncoming RDO Mitaka
   release, but requires a bit more efforts as originally expected.
*****************************************************************************


    Second test  running to add Storage Node using    
    EXCLUDE_SERVERS=Controller-IP,Compute-IP


 

   Now hack keystone database to get new IP set for swift-proxy  record in endpoint table of keystone database , followed by `openstack-service restart` on Controller

  
  
   All set to use newly added Swift Node with 3 XFS 10GB drives involved
   in swift's replication as back end for Glance.


No comments:

Post a Comment