Magnum installation is pretty forward.

  1. Ensure that your puppet environment is on profile >= v1.12.1; ntnuopenstack >= vS.5.0 and role >=v1.7.0
  2. Set the follwing hierakeys:

    magnum::db::database_connection: "mysql+pymysql://magnum:%{lookup('ntnuopenstack::magnum::mysql::password')}@%{lookup('ntnuopenstack::nova::mysql::ip')}/magnum"
    magnum::keystone::authtoken::auth_url: "%{alias('ntnuopenstack::keystone::auth::url')}"
    magnum::keystone::authtoken::www_authenticate_uri: "%{lookup('ntnuopenstack::keystone::auth::uri')}v3"
    magnum::keystone::authtoken::memcached_servers: "%{alias('ntnuopenstack::keystone::memcached::servers')}"
    magnum::keystone::authtoken::password: "%{lookup('ntnuopenstack::magnum::keystone::password')}"
    magnum::keystone::authtoken::region_name: "%{lookup('ntnuopenstack::region')}"
    
    ntnuopenstack::magnum::mysql::password: '<password>'
    ntnuopenstack::magnum::keystone::password: '<password>'
    ntnuopenstack::magnum::domain_password: '<password>'
    
    ntnuopenstack::heat::domain_password: '<password>'
    
    # On the first magnum server, set this in the node-specific file
    ntnuopenstack::magnum::db:sync: True
    
    # Ensure that this is present. Change if needed
    heat::keystone::authtoken::www_authenticate_uri: "%{lookup('ntnuopenstack::keystone::auth::uri')}v3"
    
    # Remove this
    heat::keystone::authtoken::auth_uri
  3. Run puppet on a MySQL-server to create the database, and then do a puppet run on a keystone-server to create the domain and endpoints
  4. Install one or more servers with role::base, preferrably on CentOS.
  5. Add role::openstack::magnum to one of the magnum servers, and do a puppet run
  6. When the first server is ready, you can add more if you like.


If the heat servers has the configuration clients_keystone/auth_uri set. Remove it manually and restart the services. It's "traces of old fun" (does this work in English..?)

  • No labels