Installation et configuration d'OpenStack (Kilo) dans Oracle® Solaris

Quitter la vue de l'impression

Mis à jour : Juin 2016
 
 

Initialisation automatique d'une image invitée

Avant de commencer

Vous devez avoir effectué les opérations suivantes :

  • Créé une archive Unified Archive (UA) du système dont vous voulez déployer l'image dans le cloud. Vérifiez que le package cloudbase-init est inclus dans ce système avant de créer l'UA.

    Pour obtenir des instructions sur la création d'une UA, reportez-vous au chapitre Utilisation des archives Unified Archives dans le guide Utilisation de Unified Archives pour la récupération du système et le clonage dans Oracle Solaris. Ce guide figure dans la bibliothèque correspondant à votre version d'Oracle Solaris dans la Operating Systems Documentation.

  • Dans la section des données utilisateur d'un modèle Heat, indiquez les informations de données utilisateur. Enregistrez le modèle sous forme de fichier *.yaml.

  1. Téléchargez l'image contenant le package Cloudbase-Init dans Glance.
  2. Exécutez la commande suivante :
    # heat stack-create -f yaml-template \
       -P key_name=your key name;image=image name\
       private_net=name of tenant private network stack-name
    
Exemple 8  Modèle Heat utilisant Cloudbase-Init

L'exemple suivant présente un modèle Heat qui sera traité à l'aide de Cloudbase-Init. Les informations que vous devez fournir sont affichées en gras et les informations de données utilisateur sont marquées à des fins pratiques. Le nom du modèle est test.yaml.

heat_template_version: 2013-05-23

description: HOT template to deploy one server into an existing neutron tenant 
network and assign a floating IP address so it's routable from the public network.

parameters:
  key_name:Server1Key
    type: string
    description: Name of keypair to assign to server
  image:Solaris Non-global Zone
    type: string
    description: Name of image to use for server
  flavor:8
    type: string
    description: Flavor to use for server
    default: 1
  public_net:
    type: string
    description: 
      Name or ID of public network for which floating IP address will 
be allocated
    default: oracle
  private_net:HR
    type: string
    description: Name or ID of private network into which server is 
deployed

resources:
  server1:
    type: OS::Nova::Server
    properties:
      name: { get_param: 'OS::stack_name' }
      image: { get_param: image }
      flavor: { get_param: flavor }
      key_name: { get_param: key_name }
      networks:
        - port: { get_resource: server1_port }
      user_data_format: RAW
---------- Beginning of user data section ----------
      user_data:
        str_replace:
          template: |
            #!/bin/ksh
            print "This is a test."

  server1_port:
    type: OS::Neutron::Port
    properties:
      network: { get_param: private_net }

  server1_floating_ip:
    type: OS::Neutron::FloatingIP
    properties:
      floating_network: { get_param: public_net }
      port_id: { get_resource: server1_port }

outputs:
  server1_private_ip:
    description: IP address of server1 in private network
    value: { get_attr: [ server1, first_address ] }
  server1_public_ip:
    description: Floating IP address of server1 in public network
    value: { get_attr: [ server1_floating_ip, floating_ip_address ] }

Pour déployer le modèle, saisissez les informations suivantes :

# heat stack-create -f test.yaml -P key_name=Server1Key \
   -P image=Solaris Non-global Zone\
...-P flavor=8
   -P private_net=HR teststack

Notez que les valeurs spécifiques de chaque option de la commande proviennent des informations figurant dans le fichier de modèle test.yaml. Le réseau public est oracle, qui représente la valeur par défaut.