-
Notifications
You must be signed in to change notification settings - Fork 172
New_Cloud_Tables_in_xCAT
Table of Contents
- Background
- Tables (in 2.8.2)
- xCAT-openstack rpm (in 2.8.2)
- Use of the Table Data
- Other Design Considerations
Note: this is a very rough strawman for this mini-design. Still needs work.
In order for xCAT to automate some of the steps of setting up a cloud based on openstack, it needs some information about the cloud and the chef/puppet configuration that should be set up. This design describes the tables that should exist in xcat for this purpose and a little bit about what each attribute will be used for. The assumption is that the user would fill out these tables before using xcat and chef/puppet to set up the cloud.
Add the new table cfgmgt in xCAT, and it will be in xCAT by default. It's not in the xCAT-Openstack-xx.rpm This table is used for puppetserver and chefserver .
- node - the node name of chef-client(or puppet-client). This is the key.
- cfgmgr - puppet or chef
- cfgserver - the node name of chef-server or puppet-server
- roles - call it cfgmgtroles in the node def object. a comma-separated list of roles this node will have. These role names map to the chef/puppet recipes that should be run for this node. From chef point, each role you specify would have a list of recipes it requires. Take openstack cookbooks as an example, there are some roles,such as: mysql-master, keystone, glance, nova-controller, nova-conductor, cinder-all. Users can add their roles into the cookbooks. Once one role is updated to the chef-server, and it can be assigned to the chef-client node.
We need to support xcat setting up more than one cloud. A typical case would be they have a production cloud and a test cloud. So we will list the clouds in the clouds table:
- name - user specified cloud name. This is the key for the table.
- controller - node name of the controller node.
- publicnet - name of network in networks table to be used for the openstack public network
- novanet - name of network in networks table to be used for the openstack nove network
- mgtnet - name of network in networks table to be used for the openstack management network
- vmnet - name of network in networks table to be used for the openstack vm network
- adminpw
- dbpw
This is a node oriented table, storing cloud info for each node.
- node - the node name. This is the key.
- cloudname - the cloud this node is in. This points to the clouds.name attribute.
The xCAT-openstack rpm will be a meta-meta rpm. It would include the cloud tables and chef & puppet recipes specific to openstack and then require the xCAT rpm so it would pull in all of xcat.
When nodeset or updatenode is run, xcat will pull info from these tables and plug the info in the correct places in the chef/puppet recipes.
In addition, the mypostscript.tmpl file will include environment variables for the chef/puppet server (from the noderes table), so that the chef/puppet postscript will no who to contact.
1 Install the chef-server/chef-client:
1.1 If the chefserver node is not installation, install the chef-server during postbootscripts when OS provision; otherwise, just need to run "updatenode" to install the chef-server
1.2 If the chefclient node is not installation, install the chef-client during postbootscripts when OS provision; otherwise, just need to run "updatenode" to install the chef-client.
Refer to [Adding_Chef_in_xCAT_Cluster] to get more information.
2. Configure the chef-server
2.1 Prepare the chef-cookbooks
The chef-cookbooks will be on the MN firstly, and then distribute them to each chef-server. The users can use scp or xdcp to do the distribution. After that, the cfgmgt.path which is used to specify the cookbooks/recipes paths on the chef-server should be updated. (jjh: I think we can put the chef-cookbooks in the /install/chef directory on MN. And the distribution could be done by the script config_ops_chef_server automatically . Considering there are not so much chef-server, so the performance will not be an issue. What do you think of it?)
And the mypostscript.tmpl file will include environment variables for the chef server.
publicnet, novanet, mgtnet,vmnet,adminpw,dbpw, cfgmtgpath, chef-client-list, roles_of_<each_chef_client>
Run "updatenode <chef-server-noderange> -P config_ops_chef_server" . The script config_ops_chef_server will
(1)generate chef environment file
(2)use knife command to load the environment file
(3)apply the environment name to the chef-client nodes
(4)upload the cookbooks/roles
(5)assign the roles to the chef-client.
If we want to do only one action, we can specify the argument for config_ops_chef_env.
3. Run "chef-client" on each client node to deploy the openstack.
xdsh <controller-noderange> -s chef-client
xdsh <computer-noderange> -s chef-client
Currently, there are many outputs of chef-client. If there are many nodes, the output of xdsh may be not easy to read directly.
Under construction.
- Required reviewers: Bruce, Linda, Ling, Guang Cheng and Jie Hua.
- Required approvers: Bruce Potter
- Affect on other components: N/A
- External interface changes, documentation, and usability issues: N/A
- Packaging, installation, dependencies: N/A
- Portability and platforms (HW/SW) supported: N/A
- Performance and scaling considerations: N/A
- Migration and coexistence: N/A
- Serviceability: N/A
- Security: N/A
- NLS and accessibility: N/A
- Invention protection: N/A
- Mar 08, 2023: xCAT 2.16.5 released.
- Jun 20, 2022: xCAT 2.16.4 released.
- Nov 17, 2021: xCAT 2.16.3 released.
- May 25, 2021: xCAT 2.16.2 released.
- Nov 06, 2020: xCAT 2.16.1 released.
- Jun 17, 2020: xCAT 2.16 released.
- Mar 06, 2020: xCAT 2.15.1 released.
- Nov 11, 2019: xCAT 2.15 released.
- Mar 29, 2019: xCAT 2.14.6 released.
- Dec 07, 2018: xCAT 2.14.5 released.
- Oct 19, 2018: xCAT 2.14.4 released.
- Aug 24, 2018: xCAT 2.14.3 released.
- Jul 13, 2018: xCAT 2.14.2 released.
- Jun 01, 2018: xCAT 2.14.1 released.
- Apr 20, 2018: xCAT 2.14 released.
- Mar 14, 2018: xCAT 2.13.11 released.
- Jan 26, 2018: xCAT 2.13.10 released.
- Dec 18, 2017: xCAT 2.13.9 released.
- Nov 03, 2017: xCAT 2.13.8 released.
- Sep 22, 2017: xCAT 2.13.7 released.
- Aug 10, 2017: xCAT 2.13.6 released.
- Jun 30, 2017: xCAT 2.13.5 released.
- May 19, 2017: xCAT 2.13.4 released.
- Apr 14, 2017: xCAT 2.13.3 released.
- Feb 24, 2017: xCAT 2.13.2 released.
- Jan 13, 2017: xCAT 2.13.1 released.
- Dec 09, 2016: xCAT 2.13 released.
- Dec 06, 2016: xCAT 2.9.4 (AIX only) released.
- Nov 11, 2016: xCAT 2.12.4 released.
- Sep 30, 2016: xCAT 2.12.3 released.
- Aug 19, 2016: xCAT 2.12.2 released.
- Jul 08, 2016: xCAT 2.12.1 released.
- May 20, 2016: xCAT 2.12 released.
- Apr 22, 2016: xCAT 2.11.1 released.
- Mar 11, 2016: xCAT 2.9.3 (AIX only) released.
- Dec 11, 2015: xCAT 2.11 released.
- Nov 11, 2015: xCAT 2.9.2 (AIX only) released.
- Jul 30, 2015: xCAT 2.10 released.
- Jul 30, 2015: xCAT migrates from sourceforge to github
- Jun 26, 2015: xCAT 2.7.9 released.
- Mar 20, 2015: xCAT 2.9.1 released.
- Dec 12, 2014: xCAT 2.9 released.
- Sep 5, 2014: xCAT 2.8.5 released.
- May 23, 2014: xCAT 2.8.4 released.
- Jan 24, 2014: xCAT 2.7.8 released.
- Nov 15, 2013: xCAT 2.8.3 released.
- Jun 26, 2013: xCAT 2.8.2 released.
- May 17, 2013: xCAT 2.7.7 released.
- May 10, 2013: xCAT 2.8.1 released.
- Feb 28, 2013: xCAT 2.8 released.
- Nov 30, 2012: xCAT 2.7.6 released.
- Oct 29, 2012: xCAT 2.7.5 released.
- Aug 27, 2012: xCAT 2.7.4 released.
- Jun 22, 2012: xCAT 2.7.3 released.
- May 25, 2012: xCAT 2.7.2 released.
- Apr 20, 2012: xCAT 2.7.1 released.
- Mar 19, 2012: xCAT 2.7 released.
- Mar 15, 2012: xCAT 2.6.11 released.
- Jan 23, 2012: xCAT 2.6.10 released.
- Nov 15, 2011: xCAT 2.6.9 released.
- Sep 30, 2011: xCAT 2.6.8 released.
- Aug 26, 2011: xCAT 2.6.6 released.
- May 20, 2011: xCAT 2.6 released.
- Feb 14, 2011: Watson plays on Jeopardy and is managed by xCAT!
- xCAT OS And Hw Support Matrix
- Oct 22, 2010: xCAT 2.5 released.
- Apr 30, 2010: xCAT 2.4 is released.
- Oct 31, 2009: xCAT 2.3 released. xCAT's 10 year anniversary!
- Apr 16, 2009: xCAT 2.2 released.
- Oct 31, 2008: xCAT 2.1 released.
- Sep 12, 2008: Support for xCAT 2 can now be purchased!
- June 9, 2008: xCAT breaths life into (at the time) the fastest supercomputer on the planet
- May 30, 2008: xCAT 2.0 for Linux officially released!
- Oct 31, 2007: IBM open sources xCAT 2.0 to allow collaboration among all of the xCAT users.
- Oct 31, 1999: xCAT 1.0 is born!
xCAT started out as a project in IBM developed by Egan Ford. It was quickly adopted by customers and IBM manufacturing sites to rapidly deploy clusters.