From ece60fa2cc4b103ff350a71f08195f9019276b4d Mon Sep 17 00:00:00 2001 From: Clint Byrum Date: Thu, 9 May 2013 17:44:37 -0700 Subject: Adding nova-api and finishing nova-compute split. --- nova-api.yaml | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ nova-compute.yaml | 10 +++---- 2 files changed, 88 insertions(+), 5 deletions(-) create mode 100644 nova-api.yaml diff --git a/nova-api.yaml b/nova-api.yaml new file mode 100644 index 00000000..15ce26d3 --- /dev/null +++ b/nova-api.yaml @@ -0,0 +1,83 @@ +HeatTemplateFormatVersion: '2012-12-12' +Description: 'HEAT Template - Nova API' +Parameters: + KeyName: + Description: Name of an existing EC2 KeyPair to enable SSH access to the instances + Type: String + Default: default + InstanceType: + Description: Use this flavor + Type: String + Default: bm.small + NovaDSN: + Description: DSN for connecting to nova database + Type: String + NovaImage: + Type: String + KeystoneHost: + Type: String + ServicePassword: + Description: admin_password for setting up auth in nova. + Type: String + TemplateURL: + Type: String + Default: https://raw.github.com/openstack-ops/templates/master/ + RabbitHost: + Type: String + RabbitPassword: + Type: String + NovaInterfaces: + Type: String + Default: eth0 + NovaAPiSize: + Type: Integer + Default: 1 +Resources: + AccessPolicy: + Type: OS::Heat::AccessPolicy + Properties: + AllowedResources: [ NovaApi ] + User: + Type: AWS::IAM::User + Properties: + Policies: [ { Ref: AccessPolicy } ] + Key: + Type: AWS::IAM::AccessKey + Properties: + UserName: + Ref: User + NovaApi: + Type: AWS::EC2::Instance + Properties: + ImageId: + {Ref: NovaImage} + InstanceType: {Ref: InstanceType} + KeyName: {Ref: KeyName} + Metadata: + OpenStack::ImageBuilder::Elements: [ nova-api ] + heat: + access_key_id: + Ref: Key + secret_key: + Fn::GetAtt: [ Key, SecretAccessKey ] + stack: + name: {Ref: 'AWS::StackName'} + region: {Ref: 'AWS::Region'} + refresh: + - resource: NovaApi + keystone: + host: {Ref: KeystoneHost} + nova: + db: {Ref: NovaDSN} + quantum: + host: {Ref: QuantumHost} + service-password: {Ref: ServicePassword} + admin-password: {Ref: ServicePassword} + rabbit: + host: {Ref: RabbitHost} + password: {Ref: RabbitPassword} + swift: + store_user: '' + store_key: '' + interfaces: + control: {Ref: NovaInterfaces} diff --git a/nova-compute.yaml b/nova-compute.yaml index 596c1b50..ae4affbf 100644 --- a/nova-compute.yaml +++ b/nova-compute.yaml @@ -9,9 +9,6 @@ Parameters: Description: Use this flavor Type: String Default: bm.small - NovaDSN: - Description: DSN for connecting to nova database - Type: String NovaImage: Type: String KeystoneHost: @@ -32,6 +29,9 @@ Parameters: NovaComputeSize: Type: Integer Default: 1 + NovaComputeDriver: + Type: String + Default: libvirt.LibvirtDriver Resources: AccessPolicy: Type: OS::Heat::AccessPolicy @@ -65,10 +65,10 @@ Resources: region: {Ref: 'AWS::Region'} refresh: - resource: NovaCompute + nova: + compute_driver: {Ref: NovaComputeDriver} keystone: host: {Ref: KeystoneHost} - nova: - db: {Ref: NovaDSN} quantum: host: {Ref: QuantumHost} service-password: {Ref: ServicePassword} -- cgit 1.2.3-korg