diff options
58 files changed, 275 insertions, 2476 deletions
diff --git a/base.yaml b/base.yaml deleted file mode 100644 index a1ba509f..00000000 --- a/base.yaml +++ /dev/null @@ -1,77 +0,0 @@ -heat_template_version: 2013-05-23 -description: 'Tie OpenStack components together' -parameters: - KeystoneAdminToken: - description: Admin Token needed for keystone - type: string - hidden: true - TemplateRoot: - description: URL Base where all of our templates are available - type: string -resources: - RabbitMQ: - type: AWS::CloudFormation::Stack - TemplateURL: - Fn::Join: - - {get_param: TemplateRoot} - - rabbitmq.yaml - parameters: - InstanceType: m1.small - KeyName: default - RabbitMQImage: image-rabbitmq - MySQL: - type: AWS::CloudFormation::Stack - TemplateURL: - Fn::Join: - - {get_param: TemplateRoot} - - mysql.yaml - parameters: - InstanceType: m1.small - KeyName: default - MySQLImage: image-mysql - Keystone: - type: AWS::CloudFormation::Stack - TemplateURL: - Fn::Join: - - {get_param: TemplateRoot} - - keystone.yaml - parameters: - AdminToken: {get_param: KeystoneAdminToken} - KeyName: default - KeystoneDSN: - Fn::Join: - - 'mysql://keystone:' - - {get_attr: [ MySQL , KeystonePassword ]} - - '@' - - {get_attr: [ MySQL , MySQLHost ]} - - '/keystone' - Glance: - type: AWS::CloudFormation::Stack - TemplateURL: - Fn::Join: - - {get_param: TemplateRoot} - - glance.yaml - parameters: - KeyName: default - HeatDSN: - Fn::Join: - - 'mysql://glance:' - - {get_attr: [ MySQL, GlancePassword ] } - - '@' - - {get_attr: [ MySQL, MySQLHost ]} - - '/glance' - Heat: - type: AWS::CloudFormation::Stack - TemplateURL: - Fn::Join: - - {get_param: TemplateRoot} - - heat.yaml - parameters: - KeyName: default - HeatDSN: - Fn::Join: - - 'mysql://heat:' - - {get_attr: [ MySQL, HeatPassword ] } - - '@' - - {get_attr: [ MySQL, MySQLHost ]} - - '/heat' diff --git a/debian-mirror.yaml b/debian-mirror.yaml deleted file mode 100644 index ddfff6a6..00000000 --- a/debian-mirror.yaml +++ /dev/null @@ -1,31 +0,0 @@ -description: 'Debian-mirror: A Debian or Ubuntu mirror in the cloud' -parameters: - DebianMirrorArchitectures: - default: [{"arch": "amd64"}] - description: The architectures to be mirrored - type: JSON - DebianMirrorComponents: - default: ["main", "restricted", "universe", "multiverse"] - description: The components to be mirrored - type: JSON - DebianMirrorMirror: - default: http://archive.ubuntu.com/ubuntu - description: The mirror that is to be used as the source - type: string - DebianMirrorSuites: - default: ["saucy", "saucy-updates", "saucy-security"] - description: The suites to be mirrored - type: JSON -resources: - debianMirrorConfig: - type: AWS::AutoScaling::LaunchConfiguration - metadata: - debian-mirror: - mirror: - get_param: DebianMirrorMirror - suites: - get_param: DebianMirrorSuites - architectures: - get_param: DebianMirrorArchitectures - components: - get_param: DebianMirrorComponents diff --git a/environments/neutron-ml2-cisco-n1kv.yaml b/environments/neutron-ml2-cisco-n1kv.yaml new file mode 100644 index 00000000..651e9564 --- /dev/null +++ b/environments/neutron-ml2-cisco-n1kv.yaml @@ -0,0 +1,11 @@ +# A Heat environment file which can be used to enable a +# a Cisco N1KV backend, configured via puppet +resource_registry: + OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-ml2-cisco-n1kv.yaml + OS::TripleO::ComputeExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-ml2-cisco-n1kv.yaml + +parameter_defaults: + N1000vVSMIP: '192.0.2.50' + N1000vMgmtGatewayIP: '192.0.2.1' + N1000vVSMDomainID: '100' + N1000vVSMHostMgmtIntf: 'br-ex' diff --git a/examples/launchconfig1.yaml b/examples/launchconfig1.yaml deleted file mode 100644 index 70ea2463..00000000 --- a/examples/launchconfig1.yaml +++ /dev/null @@ -1,24 +0,0 @@ -HeatTemplateFormatVersion: '2012-12-12' -Parameters: - A: - Type: String - Default: test1 - B: - Type: String - Default: test2 - resource1Image: - Type: String - Default: resource1 -Resources: - notcomputeConfigBase: - Type: AWS::AutoScaling::LaunchConfiguration - Metadata: - OpenStack::Role: notcomputeConfig - a: {Ref: A} - b: {Ref: B} - resource1: - Type: OS::Nova::Server - Properties: - flavor: test_flavor - image: {Ref: resource1Image} - key_name: test_key diff --git a/examples/launchconfig1_hot.yaml b/examples/launchconfig1_hot.yaml deleted file mode 100644 index 4c86e76d..00000000 --- a/examples/launchconfig1_hot.yaml +++ /dev/null @@ -1,24 +0,0 @@ -heat_template_version: 2014-10-16 -parameters: - A: - type: string - default: test1 - B: - type: string - default: test2 - resource1Image: - type: string - default: resource1 -resources: - notcomputeConfigBase: - type: AWS::AutoScaling::LaunchConfiguration - metadata: - OpenStack::Role: notcomputeConfig - a: {get_param: A} - b: {get_param: B} - resource1: - type: OS::Nova::Server - properties: - flavor: test_flavor - image: {get_param: resource1Image} - key_name: test_key diff --git a/examples/launchconfig2.yaml b/examples/launchconfig2.yaml deleted file mode 100644 index 3ced0cc4..00000000 --- a/examples/launchconfig2.yaml +++ /dev/null @@ -1,20 +0,0 @@ -HeatTemplateFormatVersion: '2012-12-12' -Parameters: - C: - Type: String - Default: test3 - resource2Image: - Type: String - Default: resource2 -Resources: - notcomputeConfigMixin: - Type: AWS::AutoScaling::LaunchConfiguration - Metadata: - OpenStack::Role: notcomputeConfig - c: {Ref: C} - resource2: - Type: OS::Nova::Server - Properties: - flavor: test_flavor - image: {Ref: resource2Image} - key_name: test_key diff --git a/examples/launchconfig2_hot.yaml b/examples/launchconfig2_hot.yaml deleted file mode 100644 index 1586a4d0..00000000 --- a/examples/launchconfig2_hot.yaml +++ /dev/null @@ -1,20 +0,0 @@ -heat_template_version: 2014-10-16 -parameters: - C: - type: string - default: test3 - resource2Image: - type: string - default: resource2 -resources: - notcomputeConfigMixin: - type: AWS::AutoScaling::LaunchConfiguration - metadata: - OpenStack::Role: notcomputeConfig - c: {get_param: C} - resource2: - type: OS::Nova::Server - properties: - flavor: test_flavor - image: {get_param: resource2Image} - key_name: test_key diff --git a/examples/launchconfig_result.yaml b/examples/launchconfig_result.yaml deleted file mode 100644 index 76c12b84..00000000 --- a/examples/launchconfig_result.yaml +++ /dev/null @@ -1,43 +0,0 @@ -Description: examples/launchconfig1.yaml,examples/launchconfig2.yaml -HeatTemplateFormatVersion: '2012-12-12' -Parameters: - A: - Default: test1 - Type: String - B: - Default: test2 - Type: String - C: - Default: test3 - Type: String - resource1Image: - Default: resource1 - Type: String - resource2Image: - Default: resource2 - Type: String -Resources: - notcomputeConfig: - Metadata: - OpenStack::Role: notcomputeConfig - a: - Ref: A - b: - Ref: B - c: - Ref: C - Type: AWS::AutoScaling::LaunchConfiguration - resource1: - Properties: - flavor: test_flavor - image: - Ref: resource1Image - key_name: test_key - Type: OS::Nova::Server - resource2: - Properties: - flavor: test_flavor - image: - Ref: resource2Image - key_name: test_key - Type: OS::Nova::Server diff --git a/examples/launchconfig_result_hot.yaml b/examples/launchconfig_result_hot.yaml deleted file mode 100644 index 1375bae9..00000000 --- a/examples/launchconfig_result_hot.yaml +++ /dev/null @@ -1,43 +0,0 @@ -description: examples/launchconfig1_hot.yaml,examples/launchconfig2_hot.yaml -heat_template_version: '2014-10-16' -parameters: - A: - default: test1 - type: string - B: - default: test2 - type: string - C: - default: test3 - type: string - resource1Image: - default: resource1 - type: string - resource2Image: - default: resource2 - type: string -resources: - notcomputeConfig: - metadata: - OpenStack::Role: notcomputeConfig - a: - get_param: A - b: - get_param: B - c: - get_param: C - type: AWS::AutoScaling::LaunchConfiguration - resource1: - properties: - flavor: test_flavor - image: - get_param: resource1Image - key_name: test_key - type: OS::Nova::Server - resource2: - properties: - flavor: test_flavor - image: - get_param: resource2Image - key_name: test_key - type: OS::Nova::Server diff --git a/examples/lib.yaml b/examples/lib.yaml deleted file mode 100644 index d42e95f8..00000000 --- a/examples/lib.yaml +++ /dev/null @@ -1,13 +0,0 @@ -Parameters: - ImportantValue: - Default: a_default - Type: String - BImage: - Type: String -Resources: - GenericB: - Type: OS::Nova::Server - Properties: - image: {Ref: BImage} - Metadata: - my_meta: {Ref: ImportantValue} diff --git a/examples/lib_hot.yaml b/examples/lib_hot.yaml deleted file mode 100644 index b5af05e4..00000000 --- a/examples/lib_hot.yaml +++ /dev/null @@ -1,13 +0,0 @@ -parameters: - ImportantValue: - default: a_default - type: string - BImage: - type: string -resources: - GenericB: - type: OS::Nova::Server - properties: - image: {get_param: BImage} - metadata: - my_meta: {get_param: ImportantValue} diff --git a/examples/scale1.yaml b/examples/scale1.yaml deleted file mode 100644 index 6acb6049..00000000 --- a/examples/scale1.yaml +++ /dev/null @@ -1,32 +0,0 @@ -HeatTemplateFormatVersion: '2012-12-12' -Resources: - ComputeUser: - Type: AWS::IAM::User - Properties: - Policies: [ { Ref: ComputeAccessPolicy } ] - GlobalAccessPolicy: - Type: OS::Heat::AccessPolicy - NovaCompute0Key: - Type: FileInclude - Path: examples/scale2.yaml - SubKey: Resources.NovaCompute0Key - NovaCompute0CompletionCondition: - Type: FileInclude - Path: examples/scale2.yaml - SubKey: Resources.NovaCompute0CompletionCondition - NovaCompute0CompletionHandle: - Type: FileInclude - Path: examples/scale2.yaml - SubKey: Resources.NovaCompute0CompletionHandle - NovaCompute0Config: - Type: FileInclude - Path: examples/scale2.yaml - SubKey: Resources.NovaCompute0Config - Parameters: - ComputeImage: "123" - RabbitUserName: "guest" - RabbitPassword: "guest" - NovaCompute0: - Type: FileInclude - Path: examples/scale2.yaml - SubKey: Resources.NovaCompute0 diff --git a/examples/scale1_hot.yaml b/examples/scale1_hot.yaml deleted file mode 100644 index 6e46a32d..00000000 --- a/examples/scale1_hot.yaml +++ /dev/null @@ -1,32 +0,0 @@ -heat_template_version: 2014-10-16 -resources: - ComputeUser: - type: AWS::IAM::User - properties: - Policies: [ { get_param: ComputeAccessPolicy } ] - GlobalAccessPolicy: - type: OS::Heat::AccessPolicy - NovaCompute0Key: - type: FileInclude - Path: examples/scale2_hot.yaml - SubKey: resources.NovaCompute0Key - NovaCompute0CompletionCondition: - type: FileInclude - Path: examples/scale2_hot.yaml - SubKey: resources.NovaCompute0CompletionCondition - NovaCompute0CompletionHandle: - type: FileInclude - Path: examples/scale2_hot.yaml - SubKey: resources.NovaCompute0CompletionHandle - NovaCompute0Config: - type: FileInclude - Path: examples/scale2_hot.yaml - SubKey: resources.NovaCompute0Config - parameters: - ComputeImage: "123" - RabbitUserName: "guest" - RabbitPassword: "guest" - NovaCompute0: - type: FileInclude - Path: examples/scale2_hot.yaml - SubKey: resources.NovaCompute0 diff --git a/examples/scale2.yaml b/examples/scale2.yaml deleted file mode 100644 index 8b3e4f8f..00000000 --- a/examples/scale2.yaml +++ /dev/null @@ -1,69 +0,0 @@ -HeatTemplateFormatVersion: '2012-12-12' -Parameters: - ComputeImage: - Type: String - RabbitUserName: - Type: String - RabbitPassword: - Type: String - NoEcho: true -Resources: - ComputeAccessPolicy: - Type: OS::Heat::AccessPolicy - Properties: - AllowedResources: [ NovaCompute0 ] - NovaCompute0Key: - Type: AWS::IAM::AccessKey - Properties: - UserName: - Ref: ComputeUser - NovaCompute0CompletionCondition: - Type: AWS::CloudFormation::WaitCondition - DependsOn: notcompute - Properties: - Handle: {Ref: NovaCompute0CompletionHandle} - Count: '1' - Timeout: '1800' - NovaCompute0CompletionHandle: - Type: AWS::CloudFormation::WaitConditionHandle - NovaCompute0: - Type: OS::Nova::Server - Properties: - image: - Ref: ComputeImage - Metadata: - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute0Key - secret_access_key: - Fn::GetAtt: [ NovaCompute0Key, SecretAccessKey ] - stack_name: {Ref: 'AWS::StackName'} - path: NovaCompute0Config.Metadata - NovaCompute0Config: - Type: AWS::AutoScaling::LaunchConfiguration - Metadata: - completion-handle: - Ref: NovaCompute0CompletionHandle - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute0Key - secret_access_key: - Fn::GetAtt: [ NovaCompute0Key, SecretAccessKey ] - stack_name: {Ref: 'AWS::StackName'} - path: NovaCompute0Config.Metadata - neutron: - ovs: - local_ip: - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute0 - - networks - rabbit: - username: {Ref: RabbitUserName} - password: {Ref: RabbitPassword} - diff --git a/examples/scale2_hot.yaml b/examples/scale2_hot.yaml deleted file mode 100644 index eb507616..00000000 --- a/examples/scale2_hot.yaml +++ /dev/null @@ -1,62 +0,0 @@ -heat_template_version: 2014-10-16 -parameters: - ComputeImage: - type: string - RabbitUserName: - type: string - RabbitPassword: - type: string - hidden: true -resources: - ComputeAccessPolicy: - type: OS::Heat::AccessPolicy - properties: - AllowedResources: [ NovaCompute0 ] - NovaCompute0Key: - type: AWS::IAM::AccessKey - properties: - UserName: - get_param: ComputeUser - NovaCompute0CompletionCondition: - type: AWS::CloudFormation::WaitCondition - depends_on: notcompute - properties: - Handle: {get_resource: NovaCompute0CompletionHandle} - Count: '1' - Timeout: '1800' - NovaCompute0CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - NovaCompute0: - type: OS::Nova::Server - properties: - image: - get_param: ComputeImage - metadata: - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute0Key - secret_access_key: - get_attr: [ NovaCompute0Key, SecretAccessKey ] - stack_name: {get_param: 'AWS::StackName'} - path: NovaCompute0Config.Metadata - NovaCompute0Config: - type: AWS::AutoScaling::LaunchConfiguration - metadata: - completion-handle: - get_resource: NovaCompute0CompletionHandle - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute0Key - secret_access_key: - get_attr: [ NovaCompute0Key, SecretAccessKey ] - stack_name: {get_param: 'AWS::StackName'} - path: NovaCompute0Config.Metadata - neutron: - ovs: - local_ip: {get_attr: [NovaCompute0, networks, ctlplane, 0]} - rabbit: - username: {get_param: RabbitUserName} - password: {get_param: RabbitPassword} - diff --git a/examples/scale_map.yaml b/examples/scale_map.yaml deleted file mode 100644 index 08bcbf7c..00000000 --- a/examples/scale_map.yaml +++ /dev/null @@ -1,56 +0,0 @@ -HeatTemplateFormatVersion: '2012-12-12' -Resources: - ComputeUser: - Type: AWS::IAM::User - Properties: - Policies: [ { Ref: ComputeAccessPolicy } ] - GlobalAccessPolicy: - Type: OS::Heat::AccessPolicy - NovaCompute0Key: - Type: FileInclude - Path: examples/scale_map2.yaml - SubKey: Resources.NovaCompute0Key - NovaCompute0CompletionCondition: - Type: FileInclude - Path: examples/scale_map2.yaml - SubKey: Resources.NovaCompute0CompletionCondition - NovaCompute0CompletionHandle: - Type: FileInclude - Path: examples/scale_map2.yaml - SubKey: Resources.NovaCompute0CompletionHandle - NovaCompute0Config: - Type: FileInclude - Path: examples/scale_map2.yaml - SubKey: Resources.NovaCompute0Config - Parameters: - AllHosts: - Fn::Join: - - "\n" - - Merge::Map: - NovaCompute0: - Fn::Join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute0 - - networks - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute0 - - show - - Fn::Join: - - '.' - - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute0 - - show - - 'local' - NovaCompute0: - Type: FileInclude - Path: examples/scale_map2.yaml - SubKey: Resources.NovaCompute0 diff --git a/examples/scale_map2.yaml b/examples/scale_map2.yaml deleted file mode 100644 index 7e5c839c..00000000 --- a/examples/scale_map2.yaml +++ /dev/null @@ -1,54 +0,0 @@ -HeatTemplateFormatVersion: '2012-12-12' -Parameters: - AllHosts: - Type: String - ComputeImage: - Type: String -Resources: - ComputeAccessPolicy: - Type: OS::Heat::AccessPolicy - Properties: - AllowedResources: [ NovaCompute0 ] - NovaCompute0Key: - Type: AWS::IAM::AccessKey - Properties: - UserName: - Ref: ComputeUser - NovaCompute0CompletionCondition: - Type: AWS::CloudFormation::WaitCondition - DependsOn: notcompute - Properties: - Handle: {Ref: NovaCompute0CompletionHandle} - Count: '1' - Timeout: '1800' - NovaCompute0CompletionHandle: - Type: AWS::CloudFormation::WaitConditionHandle - NovaCompute0: - Type: OS::Nova::Server - Properties: - image: - Ref: ComputeImage - Metadata: - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute0Key - secret_access_key: - Fn::GetAtt: [ NovaCompute0Key, SecretAccessKey ] - stack_name: {Ref: 'AWS::StackName'} - path: NovaCompute0Config.Metadata - NovaCompute0Config: - Type: AWS::AutoScaling::LaunchConfiguration - Metadata: - completion-handle: - Ref: NovaCompute0CompletionHandle - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute0Key - secret_access_key: - Fn::GetAtt: [ NovaCompute0Key, SecretAccessKey ] - stack_name: {Ref: 'AWS::StackName'} - path: NovaCompute0Config.Metadata - hosts: - Ref: AllHosts diff --git a/examples/scale_map2_hot.yaml b/examples/scale_map2_hot.yaml deleted file mode 100644 index 1d7dc5fc..00000000 --- a/examples/scale_map2_hot.yaml +++ /dev/null @@ -1,54 +0,0 @@ -heat_template_version: 2014-10-16 -parameters: - AllHosts: - type: string - ComputeImage: - type: string -resources: - ComputeAccessPolicy: - type: OS::Heat::AccessPolicy - properties: - AllowedResources: [ NovaCompute0 ] - NovaCompute0Key: - type: AWS::IAM::AccessKey - properties: - UserName: - get_param: ComputeUser - NovaCompute0CompletionCondition: - type: AWS::CloudFormation::WaitCondition - depends_on: notcompute - properties: - Handle: {get_resource: NovaCompute0CompletionHandle} - Count: '1' - Timeout: '1800' - NovaCompute0CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - NovaCompute0: - type: OS::Nova::Server - properties: - image: - get_param: ComputeImage - metadata: - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute0Key - secret_access_key: - get_attr: [ NovaCompute0Key, SecretAccessKey ] - stack_name: {get_param: 'AWS::StackName'} - path: NovaCompute0Config.Metadata - NovaCompute0Config: - type: AWS::AutoScaling::LaunchConfiguration - metadata: - completion-handle: - get_resource: NovaCompute0CompletionHandle - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute0Key - secret_access_key: - get_attr: [ NovaCompute0Key, SecretAccessKey ] - stack_name: {get_param: 'AWS::StackName'} - path: NovaCompute0Config.Metadata - hosts: - get_param: AllHosts diff --git a/examples/scale_map_hot.yaml b/examples/scale_map_hot.yaml deleted file mode 100644 index 4a6d6843..00000000 --- a/examples/scale_map_hot.yaml +++ /dev/null @@ -1,42 +0,0 @@ -heat_template_version: 2014-10-16 -resources: - ComputeUser: - type: AWS::IAM::User - properties: - Policies: [ { get_param: ComputeAccessPolicy } ] - GlobalAccessPolicy: - type: OS::Heat::AccessPolicy - NovaCompute0Key: - type: FileInclude - Path: examples/scale_map2_hot.yaml - SubKey: resources.NovaCompute0Key - NovaCompute0CompletionCondition: - type: FileInclude - Path: examples/scale_map2_hot.yaml - SubKey: resources.NovaCompute0CompletionCondition - NovaCompute0CompletionHandle: - type: FileInclude - Path: examples/scale_map2_hot.yaml - SubKey: resources.NovaCompute0CompletionHandle - NovaCompute0Config: - type: FileInclude - Path: examples/scale_map2_hot.yaml - SubKey: resources.NovaCompute0Config - parameters: - AllHosts: - list_join: - - "\n" - - Merge::Map: - NovaCompute0: - list_join: - - ' ' - - - {get_attr: [NovaCompute0, networks, ctlplane, 0]} - - {get_attr: [NovaCompute0, show, name]} - - list_join: - - '.' - - - {get_attr: [NovaCompute0, show, name]} - - 'local' - NovaCompute0: - type: FileInclude - Path: examples/scale_map2_hot.yaml - SubKey: resources.NovaCompute0 diff --git a/examples/scale_map_result.yaml b/examples/scale_map_result.yaml deleted file mode 100644 index c4617835..00000000 --- a/examples/scale_map_result.yaml +++ /dev/null @@ -1,367 +0,0 @@ -Description: examples/scale_map.yaml -HeatTemplateFormatVersion: '2012-12-12' -Resources: - ComputeUser: - Properties: - Policies: - - Ref: ComputeAccessPolicy - Type: AWS::IAM::User - GlobalAccessPolicy: - Type: OS::Heat::AccessPolicy - NovaCompute0: - Metadata: - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute0Key - path: NovaCompute0Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute0Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - Properties: - image: - Ref: ComputeImage - Type: OS::Nova::Server - NovaCompute0CompletionCondition: - DependsOn: notcompute - Properties: - Count: '1' - Handle: - Ref: NovaCompute0CompletionHandle - Timeout: '1800' - Type: AWS::CloudFormation::WaitCondition - NovaCompute0CompletionHandle: - Type: AWS::CloudFormation::WaitConditionHandle - NovaCompute0Config: - Metadata: - completion-handle: - Ref: NovaCompute0CompletionHandle - hosts: - Fn::Join: - - ' - - ' - - - Fn::Join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute0 - - networks - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute0 - - show - - Fn::Join: - - . - - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute0 - - show - - local - - Fn::Join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute1 - - networks - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute1 - - show - - Fn::Join: - - . - - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute1 - - show - - local - - Fn::Join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute2 - - networks - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute2 - - show - - Fn::Join: - - . - - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute2 - - show - - local - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute0Key - path: NovaCompute0Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute0Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - Type: AWS::AutoScaling::LaunchConfiguration - NovaCompute0Key: - Properties: - UserName: - Ref: ComputeUser - Type: AWS::IAM::AccessKey - NovaCompute1: - Metadata: - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute1Key - path: NovaCompute1Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute1Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - Properties: - image: - Ref: ComputeImage - Type: OS::Nova::Server - NovaCompute1CompletionCondition: - DependsOn: notcompute - Properties: - Count: '1' - Handle: - Ref: NovaCompute1CompletionHandle - Timeout: '1800' - Type: AWS::CloudFormation::WaitCondition - NovaCompute1CompletionHandle: - Type: AWS::CloudFormation::WaitConditionHandle - NovaCompute1Config: - Metadata: - completion-handle: - Ref: NovaCompute1CompletionHandle - hosts: - Fn::Join: - - ' - - ' - - - Fn::Join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute0 - - networks - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute0 - - show - - Fn::Join: - - . - - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute0 - - show - - local - - Fn::Join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute1 - - networks - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute1 - - show - - Fn::Join: - - . - - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute1 - - show - - local - - Fn::Join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute2 - - networks - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute2 - - show - - Fn::Join: - - . - - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute2 - - show - - local - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute1Key - path: NovaCompute1Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute1Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - Type: AWS::AutoScaling::LaunchConfiguration - NovaCompute1Key: - Properties: - UserName: - Ref: ComputeUser - Type: AWS::IAM::AccessKey - NovaCompute2: - Metadata: - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute2Key - path: NovaCompute2Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute2Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - Properties: - image: - Ref: ComputeImage - Type: OS::Nova::Server - NovaCompute2CompletionCondition: - DependsOn: notcompute - Properties: - Count: '1' - Handle: - Ref: NovaCompute2CompletionHandle - Timeout: '1800' - Type: AWS::CloudFormation::WaitCondition - NovaCompute2CompletionHandle: - Type: AWS::CloudFormation::WaitConditionHandle - NovaCompute2Config: - Metadata: - completion-handle: - Ref: NovaCompute2CompletionHandle - hosts: - Fn::Join: - - ' - - ' - - - Fn::Join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute0 - - networks - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute0 - - show - - Fn::Join: - - . - - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute0 - - show - - local - - Fn::Join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute1 - - networks - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute1 - - show - - Fn::Join: - - . - - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute1 - - show - - local - - Fn::Join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute2 - - networks - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute2 - - show - - Fn::Join: - - . - - - Fn::Select: - - name - - Fn::GetAtt: - - NovaCompute2 - - show - - local - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute2Key - path: NovaCompute2Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute2Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - Type: AWS::AutoScaling::LaunchConfiguration - NovaCompute2Key: - Properties: - UserName: - Ref: ComputeUser - Type: AWS::IAM::AccessKey diff --git a/examples/scale_map_result_hot.yaml b/examples/scale_map_result_hot.yaml deleted file mode 100644 index 4e657238..00000000 --- a/examples/scale_map_result_hot.yaml +++ /dev/null @@ -1,331 +0,0 @@ -description: examples/scale_map_hot.yaml -heat_template_version: '2014-10-16' -resources: - ComputeUser: - properties: - Policies: - - get_param: ComputeAccessPolicy - type: AWS::IAM::User - GlobalAccessPolicy: - type: OS::Heat::AccessPolicy - NovaCompute0: - metadata: - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute0Key - path: NovaCompute0Config.Metadata - secret_access_key: - get_attr: - - NovaCompute0Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - properties: - image: - get_param: ComputeImage - type: OS::Nova::Server - NovaCompute0CompletionCondition: - depends_on: notcompute - properties: - Count: '1' - Handle: - get_resource: NovaCompute0CompletionHandle - Timeout: '1800' - type: AWS::CloudFormation::WaitCondition - NovaCompute0CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - NovaCompute0Config: - metadata: - completion-handle: - get_resource: NovaCompute0CompletionHandle - hosts: - list_join: - - ' - - ' - - - list_join: - - ' ' - - - get_attr: - - NovaCompute0 - - networks - - ctlplane - - 0 - - get_attr: - - NovaCompute0 - - show - - name - - list_join: - - . - - - get_attr: - - NovaCompute0 - - show - - name - - local - - list_join: - - ' ' - - - get_attr: - - NovaCompute1 - - networks - - ctlplane - - 0 - - get_attr: - - NovaCompute1 - - show - - name - - list_join: - - . - - - get_attr: - - NovaCompute1 - - show - - name - - local - - list_join: - - ' ' - - - get_attr: - - NovaCompute2 - - networks - - ctlplane - - 0 - - get_attr: - - NovaCompute2 - - show - - name - - list_join: - - . - - - get_attr: - - NovaCompute2 - - show - - name - - local - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute0Key - path: NovaCompute0Config.Metadata - secret_access_key: - get_attr: - - NovaCompute0Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - type: AWS::AutoScaling::LaunchConfiguration - NovaCompute0Key: - properties: - UserName: - get_param: ComputeUser - type: AWS::IAM::AccessKey - NovaCompute1: - metadata: - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute1Key - path: NovaCompute1Config.Metadata - secret_access_key: - get_attr: - - NovaCompute1Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - properties: - image: - get_param: ComputeImage - type: OS::Nova::Server - NovaCompute1CompletionCondition: - depends_on: notcompute - properties: - Count: '1' - Handle: - get_resource: NovaCompute1CompletionHandle - Timeout: '1800' - type: AWS::CloudFormation::WaitCondition - NovaCompute1CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - NovaCompute1Config: - metadata: - completion-handle: - get_resource: NovaCompute1CompletionHandle - hosts: - list_join: - - ' - - ' - - - list_join: - - ' ' - - - get_attr: - - NovaCompute0 - - networks - - ctlplane - - 0 - - get_attr: - - NovaCompute0 - - show - - name - - list_join: - - . - - - get_attr: - - NovaCompute0 - - show - - name - - local - - list_join: - - ' ' - - - get_attr: - - NovaCompute1 - - networks - - ctlplane - - 0 - - get_attr: - - NovaCompute1 - - show - - name - - list_join: - - . - - - get_attr: - - NovaCompute1 - - show - - name - - local - - list_join: - - ' ' - - - get_attr: - - NovaCompute2 - - networks - - ctlplane - - 0 - - get_attr: - - NovaCompute2 - - show - - name - - list_join: - - . - - - get_attr: - - NovaCompute2 - - show - - name - - local - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute1Key - path: NovaCompute1Config.Metadata - secret_access_key: - get_attr: - - NovaCompute1Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - type: AWS::AutoScaling::LaunchConfiguration - NovaCompute1Key: - properties: - UserName: - get_param: ComputeUser - type: AWS::IAM::AccessKey - NovaCompute2: - metadata: - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute2Key - path: NovaCompute2Config.Metadata - secret_access_key: - get_attr: - - NovaCompute2Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - properties: - image: - get_param: ComputeImage - type: OS::Nova::Server - NovaCompute2CompletionCondition: - depends_on: notcompute - properties: - Count: '1' - Handle: - get_resource: NovaCompute2CompletionHandle - Timeout: '1800' - type: AWS::CloudFormation::WaitCondition - NovaCompute2CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - NovaCompute2Config: - metadata: - completion-handle: - get_resource: NovaCompute2CompletionHandle - hosts: - list_join: - - ' - - ' - - - list_join: - - ' ' - - - get_attr: - - NovaCompute0 - - networks - - ctlplane - - 0 - - get_attr: - - NovaCompute0 - - show - - name - - list_join: - - . - - - get_attr: - - NovaCompute0 - - show - - name - - local - - list_join: - - ' ' - - - get_attr: - - NovaCompute1 - - networks - - ctlplane - - 0 - - get_attr: - - NovaCompute1 - - show - - name - - list_join: - - . - - - get_attr: - - NovaCompute1 - - show - - name - - local - - list_join: - - ' ' - - - get_attr: - - NovaCompute2 - - networks - - ctlplane - - 0 - - get_attr: - - NovaCompute2 - - show - - name - - list_join: - - . - - - get_attr: - - NovaCompute2 - - show - - name - - local - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute2Key - path: NovaCompute2Config.Metadata - secret_access_key: - get_attr: - - NovaCompute2Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - type: AWS::AutoScaling::LaunchConfiguration - NovaCompute2Key: - properties: - UserName: - get_param: ComputeUser - type: AWS::IAM::AccessKey diff --git a/examples/scale_map_result_hot_blacklist.yaml b/examples/scale_map_result_hot_blacklist.yaml deleted file mode 100644 index decb0d5e..00000000 --- a/examples/scale_map_result_hot_blacklist.yaml +++ /dev/null @@ -1,367 +0,0 @@ -description: examples/scale_map_hot.yaml -heat_template_version: '2013-05-23' -resources: - ComputeUser: - properties: - Policies: - - get_param: ComputeAccessPolicy - type: AWS::IAM::User - GlobalAccessPolicy: - type: OS::Heat::AccessPolicy - NovaCompute0: - metadata: - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute0Key - path: NovaCompute0Config.Metadata - secret_access_key: - get_attr: - - NovaCompute0Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - properties: - image: - get_param: ComputeImage - type: OS::Nova::Server - NovaCompute0CompletionCondition: - depends_on: notcompute - properties: - Count: '1' - Handle: - get_resource: NovaCompute0CompletionHandle - Timeout: '1800' - type: AWS::CloudFormation::WaitCondition - NovaCompute0CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - NovaCompute0Config: - metadata: - completion-handle: - get_resource: NovaCompute0CompletionHandle - hosts: - list_join: - - ' - - ' - - - list_join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - get_attr: - - NovaCompute0 - - networks - - Fn::Select: - - name - - get_attr: - - NovaCompute0 - - show - - list_join: - - . - - - Fn::Select: - - name - - get_attr: - - NovaCompute0 - - show - - local - - list_join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - get_attr: - - NovaCompute3 - - networks - - Fn::Select: - - name - - get_attr: - - NovaCompute3 - - show - - list_join: - - . - - - Fn::Select: - - name - - get_attr: - - NovaCompute3 - - show - - local - - list_join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - get_attr: - - NovaCompute4 - - networks - - Fn::Select: - - name - - get_attr: - - NovaCompute4 - - show - - list_join: - - . - - - Fn::Select: - - name - - get_attr: - - NovaCompute4 - - show - - local - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute0Key - path: NovaCompute0Config.Metadata - secret_access_key: - get_attr: - - NovaCompute0Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - type: AWS::AutoScaling::LaunchConfiguration - NovaCompute0Key: - properties: - UserName: - get_param: ComputeUser - type: AWS::IAM::AccessKey - NovaCompute3: - metadata: - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute3Key - path: NovaCompute3Config.Metadata - secret_access_key: - get_attr: - - NovaCompute3Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - properties: - image: - get_param: ComputeImage - type: OS::Nova::Server - NovaCompute3CompletionCondition: - depends_on: notcompute - properties: - Count: '1' - Handle: - get_resource: NovaCompute3CompletionHandle - Timeout: '1800' - type: AWS::CloudFormation::WaitCondition - NovaCompute3CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - NovaCompute3Config: - metadata: - completion-handle: - get_resource: NovaCompute3CompletionHandle - hosts: - list_join: - - ' - - ' - - - list_join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - get_attr: - - NovaCompute0 - - networks - - Fn::Select: - - name - - get_attr: - - NovaCompute0 - - show - - list_join: - - . - - - Fn::Select: - - name - - get_attr: - - NovaCompute0 - - show - - local - - list_join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - get_attr: - - NovaCompute3 - - networks - - Fn::Select: - - name - - get_attr: - - NovaCompute3 - - show - - list_join: - - . - - - Fn::Select: - - name - - get_attr: - - NovaCompute3 - - show - - local - - list_join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - get_attr: - - NovaCompute4 - - networks - - Fn::Select: - - name - - get_attr: - - NovaCompute4 - - show - - list_join: - - . - - - Fn::Select: - - name - - get_attr: - - NovaCompute4 - - show - - local - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute3Key - path: NovaCompute3Config.Metadata - secret_access_key: - get_attr: - - NovaCompute3Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - type: AWS::AutoScaling::LaunchConfiguration - NovaCompute3Key: - properties: - UserName: - get_param: ComputeUser - type: AWS::IAM::AccessKey - NovaCompute4: - metadata: - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute4Key - path: NovaCompute4Config.Metadata - secret_access_key: - get_attr: - - NovaCompute4Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - properties: - image: - get_param: ComputeImage - type: OS::Nova::Server - NovaCompute4CompletionCondition: - depends_on: notcompute - properties: - Count: '1' - Handle: - get_resource: NovaCompute4CompletionHandle - Timeout: '1800' - type: AWS::CloudFormation::WaitCondition - NovaCompute4CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - NovaCompute4Config: - metadata: - completion-handle: - get_resource: NovaCompute4CompletionHandle - hosts: - list_join: - - ' - - ' - - - list_join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - get_attr: - - NovaCompute0 - - networks - - Fn::Select: - - name - - get_attr: - - NovaCompute0 - - show - - list_join: - - . - - - Fn::Select: - - name - - get_attr: - - NovaCompute0 - - show - - local - - list_join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - get_attr: - - NovaCompute3 - - networks - - Fn::Select: - - name - - get_attr: - - NovaCompute3 - - show - - list_join: - - . - - - Fn::Select: - - name - - get_attr: - - NovaCompute3 - - show - - local - - list_join: - - ' ' - - - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - get_attr: - - NovaCompute4 - - networks - - Fn::Select: - - name - - get_attr: - - NovaCompute4 - - show - - list_join: - - . - - - Fn::Select: - - name - - get_attr: - - NovaCompute4 - - show - - local - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute4Key - path: NovaCompute4Config.Metadata - secret_access_key: - get_attr: - - NovaCompute4Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - type: AWS::AutoScaling::LaunchConfiguration - NovaCompute4Key: - properties: - UserName: - get_param: ComputeUser - type: AWS::IAM::AccessKey diff --git a/examples/scale_result.yaml b/examples/scale_result.yaml deleted file mode 100644 index 5b28684b..00000000 --- a/examples/scale_result.yaml +++ /dev/null @@ -1,193 +0,0 @@ -Description: examples/scale1.yaml -HeatTemplateFormatVersion: '2012-12-12' -Resources: - ComputeUser: - Properties: - Policies: - - Ref: ComputeAccessPolicy - Type: AWS::IAM::User - GlobalAccessPolicy: - Type: OS::Heat::AccessPolicy - NovaCompute0: - Metadata: - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute0Key - path: NovaCompute0Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute0Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - Properties: - image: - Ref: ComputeImage - Type: OS::Nova::Server - NovaCompute0CompletionCondition: - DependsOn: notcompute - Properties: - Count: '1' - Handle: - Ref: NovaCompute0CompletionHandle - Timeout: '1800' - Type: AWS::CloudFormation::WaitCondition - NovaCompute0CompletionHandle: - Type: AWS::CloudFormation::WaitConditionHandle - NovaCompute0Config: - Metadata: - completion-handle: - Ref: NovaCompute0CompletionHandle - neutron: - ovs: - local_ip: - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute0 - - networks - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute0Key - path: NovaCompute0Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute0Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - rabbit: - password: guest - username: guest - Type: AWS::AutoScaling::LaunchConfiguration - NovaCompute0Key: - Properties: - UserName: - Ref: ComputeUser - Type: AWS::IAM::AccessKey - NovaCompute1: - Metadata: - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute1Key - path: NovaCompute1Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute1Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - Properties: - image: - Ref: ComputeImage - Type: OS::Nova::Server - NovaCompute1CompletionCondition: - DependsOn: notcompute - Properties: - Count: '1' - Handle: - Ref: NovaCompute1CompletionHandle - Timeout: '1800' - Type: AWS::CloudFormation::WaitCondition - NovaCompute1CompletionHandle: - Type: AWS::CloudFormation::WaitConditionHandle - NovaCompute1Config: - Metadata: - completion-handle: - Ref: NovaCompute1CompletionHandle - neutron: - ovs: - local_ip: - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute1 - - networks - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute1Key - path: NovaCompute1Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute1Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - rabbit: - password: guest - username: guest - Type: AWS::AutoScaling::LaunchConfiguration - NovaCompute1Key: - Properties: - UserName: - Ref: ComputeUser - Type: AWS::IAM::AccessKey - NovaCompute2: - Metadata: - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute2Key - path: NovaCompute2Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute2Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - Properties: - image: - Ref: ComputeImage - Type: OS::Nova::Server - NovaCompute2CompletionCondition: - DependsOn: notcompute - Properties: - Count: '1' - Handle: - Ref: NovaCompute2CompletionHandle - Timeout: '1800' - Type: AWS::CloudFormation::WaitCondition - NovaCompute2CompletionHandle: - Type: AWS::CloudFormation::WaitConditionHandle - NovaCompute2Config: - Metadata: - completion-handle: - Ref: NovaCompute2CompletionHandle - neutron: - ovs: - local_ip: - Fn::Select: - - 0 - - Fn::Select: - - ctlplane - - Fn::GetAtt: - - NovaCompute2 - - networks - os-collect-config: - cfn: - access_key_id: - Ref: NovaCompute2Key - path: NovaCompute2Config.Metadata - secret_access_key: - Fn::GetAtt: - - NovaCompute2Key - - SecretAccessKey - stack_name: - Ref: AWS::StackName - rabbit: - password: guest - username: guest - Type: AWS::AutoScaling::LaunchConfiguration - NovaCompute2Key: - Properties: - UserName: - Ref: ComputeUser - Type: AWS::IAM::AccessKey diff --git a/examples/scale_result_hot.yaml b/examples/scale_result_hot.yaml deleted file mode 100644 index a1b27095..00000000 --- a/examples/scale_result_hot.yaml +++ /dev/null @@ -1,187 +0,0 @@ -description: examples/scale1_hot.yaml -heat_template_version: '2014-10-16' -resources: - ComputeUser: - properties: - Policies: - - get_param: ComputeAccessPolicy - type: AWS::IAM::User - GlobalAccessPolicy: - type: OS::Heat::AccessPolicy - NovaCompute0: - metadata: - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute0Key - path: NovaCompute0Config.Metadata - secret_access_key: - get_attr: - - NovaCompute0Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - properties: - image: - get_param: ComputeImage - type: OS::Nova::Server - NovaCompute0CompletionCondition: - depends_on: notcompute - properties: - Count: '1' - Handle: - get_resource: NovaCompute0CompletionHandle - Timeout: '1800' - type: AWS::CloudFormation::WaitCondition - NovaCompute0CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - NovaCompute0Config: - metadata: - completion-handle: - get_resource: NovaCompute0CompletionHandle - neutron: - ovs: - local_ip: - get_attr: - - NovaCompute0 - - networks - - ctlplane - - 0 - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute0Key - path: NovaCompute0Config.Metadata - secret_access_key: - get_attr: - - NovaCompute0Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - rabbit: - password: guest - username: guest - type: AWS::AutoScaling::LaunchConfiguration - NovaCompute0Key: - properties: - UserName: - get_param: ComputeUser - type: AWS::IAM::AccessKey - NovaCompute1: - metadata: - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute1Key - path: NovaCompute1Config.Metadata - secret_access_key: - get_attr: - - NovaCompute1Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - properties: - image: - get_param: ComputeImage - type: OS::Nova::Server - NovaCompute1CompletionCondition: - depends_on: notcompute - properties: - Count: '1' - Handle: - get_resource: NovaCompute1CompletionHandle - Timeout: '1800' - type: AWS::CloudFormation::WaitCondition - NovaCompute1CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - NovaCompute1Config: - metadata: - completion-handle: - get_resource: NovaCompute1CompletionHandle - neutron: - ovs: - local_ip: - get_attr: - - NovaCompute1 - - networks - - ctlplane - - 0 - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute1Key - path: NovaCompute1Config.Metadata - secret_access_key: - get_attr: - - NovaCompute1Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - rabbit: - password: guest - username: guest - type: AWS::AutoScaling::LaunchConfiguration - NovaCompute1Key: - properties: - UserName: - get_param: ComputeUser - type: AWS::IAM::AccessKey - NovaCompute2: - metadata: - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute2Key - path: NovaCompute2Config.Metadata - secret_access_key: - get_attr: - - NovaCompute2Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - properties: - image: - get_param: ComputeImage - type: OS::Nova::Server - NovaCompute2CompletionCondition: - depends_on: notcompute - properties: - Count: '1' - Handle: - get_resource: NovaCompute2CompletionHandle - Timeout: '1800' - type: AWS::CloudFormation::WaitCondition - NovaCompute2CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - NovaCompute2Config: - metadata: - completion-handle: - get_resource: NovaCompute2CompletionHandle - neutron: - ovs: - local_ip: - get_attr: - - NovaCompute2 - - networks - - ctlplane - - 0 - os-collect-config: - cfn: - access_key_id: - get_resource: NovaCompute2Key - path: NovaCompute2Config.Metadata - secret_access_key: - get_attr: - - NovaCompute2Key - - SecretAccessKey - stack_name: - get_param: AWS::StackName - rabbit: - password: guest - username: guest - type: AWS::AutoScaling::LaunchConfiguration - NovaCompute2Key: - properties: - UserName: - get_param: ComputeUser - type: AWS::IAM::AccessKey diff --git a/examples/source.yaml b/examples/source.yaml deleted file mode 100644 index 88f0bde7..00000000 --- a/examples/source.yaml +++ /dev/null @@ -1,16 +0,0 @@ -HeatTemplateFormatVersion: '2012-12-12' -Parameters: - SourceImage: - Type: String - Default: my_image -Resources: - A: - Type: OS::Nova::Server - Properties: - image: {Ref: SourceImage} - B: - Type: FileInclude - Path: examples/lib.yaml - SubKey: Resources.GenericB - Parameters: - ImportantValue: {'Fn::Join': [ '', ['one', 'two', 'three']]} diff --git a/examples/source2.yaml b/examples/source2.yaml deleted file mode 100644 index f59f85ef..00000000 --- a/examples/source2.yaml +++ /dev/null @@ -1,4 +0,0 @@ -__include__: - path: examples/lib.yaml - params: - ImportantValue: Foo diff --git a/examples/source2_hot.yaml b/examples/source2_hot.yaml deleted file mode 100644 index e3861a6c..00000000 --- a/examples/source2_hot.yaml +++ /dev/null @@ -1,4 +0,0 @@ -__include__: - path: examples/lib_hot.yaml - params: - ImportantValue: Foo diff --git a/examples/source2_lib_result.yaml b/examples/source2_lib_result.yaml deleted file mode 100644 index 172dce0f..00000000 --- a/examples/source2_lib_result.yaml +++ /dev/null @@ -1,16 +0,0 @@ -Description: examples/source2.yaml -HeatTemplateFormatVersion: '2012-12-12' -Parameters: - BImage: - Type: String - ImportantValue: - Default: a_default - Type: String -Resources: - GenericB: - Metadata: - my_meta: Foo - Properties: - image: - Ref: BImage - Type: OS::Nova::Server diff --git a/examples/source2_lib_result_hot.yaml b/examples/source2_lib_result_hot.yaml deleted file mode 100644 index 294fed89..00000000 --- a/examples/source2_lib_result_hot.yaml +++ /dev/null @@ -1,16 +0,0 @@ -description: examples/source2_hot.yaml -heat_template_version: '2014-10-16' -parameters: - BImage: - type: string - ImportantValue: - default: a_default - type: string -resources: - GenericB: - metadata: - my_meta: Foo - properties: - image: - get_param: BImage - type: OS::Nova::Server diff --git a/examples/source_hot.yaml b/examples/source_hot.yaml deleted file mode 100644 index 15314886..00000000 --- a/examples/source_hot.yaml +++ /dev/null @@ -1,16 +0,0 @@ -heat_template_version: 2014-10-16 -parameters: - SourceImage: - type: string - default: my_image -resources: - A: - type: OS::Nova::Server - properties: - image: {get_param: SourceImage} - B: - type: FileInclude - Path: examples/lib_hot.yaml - SubKey: resources.GenericB - parameters: - ImportantValue: {"Fn::Join": [ '', ['one', 'two', 'three']]} diff --git a/examples/source_include_subkey.yaml b/examples/source_include_subkey.yaml deleted file mode 100644 index 37591d80..00000000 --- a/examples/source_include_subkey.yaml +++ /dev/null @@ -1,11 +0,0 @@ -HeatTemplateFormatVersion: '2012-12-12' -Parameters: - Foo: - Type: String -Resources: - __include__: - path: examples/lib.yaml - subkey: Resources - params: - BImage: - Ref: Foo diff --git a/examples/source_include_subkey_hot.yaml b/examples/source_include_subkey_hot.yaml deleted file mode 100644 index 8970db44..00000000 --- a/examples/source_include_subkey_hot.yaml +++ /dev/null @@ -1,11 +0,0 @@ -heat_template_version: 2014-10-16 -parameters: - Foo: - type: string -resources: - __include__: - path: examples/lib_hot.yaml - subkey: resources - params: - BImage: - get_param: Foo diff --git a/examples/source_include_subkey_result.yaml b/examples/source_include_subkey_result.yaml deleted file mode 100644 index 641e8148..00000000 --- a/examples/source_include_subkey_result.yaml +++ /dev/null @@ -1,14 +0,0 @@ -Description: examples/source_include_subkey.yaml -HeatTemplateFormatVersion: '2012-12-12' -Parameters: - Foo: - Type: String -Resources: - GenericB: - Metadata: - my_meta: - Ref: ImportantValue - Properties: - image: - Ref: Foo - Type: OS::Nova::Server diff --git a/examples/source_include_subkey_result_hot.yaml b/examples/source_include_subkey_result_hot.yaml deleted file mode 100644 index ec3bfb6f..00000000 --- a/examples/source_include_subkey_result_hot.yaml +++ /dev/null @@ -1,14 +0,0 @@ -description: examples/source_include_subkey_hot.yaml -heat_template_version: '2014-10-16' -parameters: - Foo: - type: string -resources: - GenericB: - metadata: - my_meta: - get_param: ImportantValue - properties: - image: - get_param: Foo - type: OS::Nova::Server diff --git a/examples/source_lib_result.yaml b/examples/source_lib_result.yaml deleted file mode 100644 index 5844c813..00000000 --- a/examples/source_lib_result.yaml +++ /dev/null @@ -1,24 +0,0 @@ -Description: examples/source.yaml -HeatTemplateFormatVersion: '2012-12-12' -Parameters: - SourceImage: - Default: my_image - Type: String -Resources: - A: - Properties: - image: - Ref: SourceImage - Type: OS::Nova::Server - B: - Metadata: - my_meta: - Fn::Join: - - '' - - - one - - two - - three - Properties: - image: - Ref: BImage - Type: OS::Nova::Server diff --git a/examples/source_lib_result_hot.yaml b/examples/source_lib_result_hot.yaml deleted file mode 100644 index 0235f200..00000000 --- a/examples/source_lib_result_hot.yaml +++ /dev/null @@ -1,24 +0,0 @@ -description: examples/source_hot.yaml -heat_template_version: '2014-10-16' -parameters: - SourceImage: - default: my_image - type: string -resources: - A: - properties: - image: - get_param: SourceImage - type: OS::Nova::Server - B: - metadata: - my_meta: - list_join: - - '' - - - one - - two - - three - properties: - image: - get_param: BImage - type: OS::Nova::Server diff --git a/nagios3.yaml b/nagios3.yaml deleted file mode 100644 index e2ba8ccf..00000000 --- a/nagios3.yaml +++ /dev/null @@ -1,137 +0,0 @@ -# Copyright 2014 Hewlett-Packard Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -heat_template_version: 2013-05-23 -description: Deploy Nagios -parameters: - adm_web_passwd: - type: string - description: Password for initial admin user - hidden: true - external_network: - type: string - description: Network to attach floating ips to. - default: ext-net - flavor: - type: string - description: What flavor to use for the nagios server. - default: m1.small - image: - type: string - description: Image for Nagios. - default: nagios - key_name: - type: string - description: What Nova SSH key to use for the nagios server. - default: default - monitor_networks: - type: json - description: Neutron networks to monitor. - default: [] - nova_os_auth_url: - type: string - default: '' - description: URL for Keystone to access Nova. - nova_os_password: - type: string - hidden: true - description: password to present to nova_host_ip. - default: '' - nova_os_username: - type: string - description: username to present to nova_host_ip. - default: '' - nova_os_tenant_name: - type: string - description: tenant name to present to nova_host_ip. - default: '' - server_network: - type: string - description: Network id for server. - default: default-net -resources: - nagios_config: - type: OS::Heat::StructuredConfig - properties: - config: - nagios3: - adm_web_passwd: { get_input: adm_web_passwd } - os_auth_url: { get_input: nova_os_auth_url } - os_password: { get_input: nova_os_password } - os_username: { get_input: nova_os_username } - os_tenant_name: { get_input: nova_os_tenant_name } - monitor_networks: { get_input: monitor_networks } - completion-signal: { get_input: deploy_signal_id } - nagios_security_group: - type: OS::Neutron::SecurityGroup - properties: - name: monitoring - rules: - - direction: ingress - port_range_max: 22 - port_range_min: 22 - protocol: tcp - - direction: ingress - port_range_max: 80 - port_range_min: 80 - protocol: tcp - - direction: ingress - protocol: icmp - - direction: egress - protocol: tcp - - direction: egress - protocol: udp - - direction: egress - protocol: icmp - nagios_net_port: - type: OS::Neutron::Port - properties: - network_id: { get_param: server_network } - security_groups: [ { get_resource: nagios_security_group } ] - nagios_server: - type: OS::Nova::Server - properties: - flavor: { get_param: flavor } - image: { get_param: image } - key_name: { get_param: key_name } - networks: - - network: { get_param: server_network } - port: { get_resource: nagios_net_port } - user_data_format: SOFTWARE_CONFIG - user_data: {get_resource: NodeUserData} - - NodeUserData: - type: OS::TripleO::NodeUserData - - nagios_floating_ip: - type: OS::Neutron::FloatingIP - properties: - floating_network_id: { get_param: external_network } - port_id: { get_resource: nagios_net_port } - nagios_deploy: - type: OS::Heat::StructuredDeployment - properties: - server: { get_resource: nagios_server } - config: { get_resource: nagios_config } - input_values: - adm_web_passwd: { get_param: adm_web_passwd } - nova_os_auth_url: { get_param: nova_os_auth_url } - nova_os_password: { get_param: nova_os_password } - nova_os_username: { get_param: nova_os_username } - nova_os_tenant_name: { get_param: nova_os_tenant_name } - monitor_networks: { get_param: monitor_networks } -outputs: - nagios_address: - description: Address of Nagios admin interface. - value: { get_attr: [ nagios_floating_ip, floating_ip_address ] } diff --git a/all-nodes-config.yaml b/os-apply-config/all-nodes-config.yaml index 3f0bd61c..3f0bd61c 100644 --- a/all-nodes-config.yaml +++ b/os-apply-config/all-nodes-config.yaml diff --git a/ceph-cluster-config.yaml b/os-apply-config/ceph-cluster-config.yaml index c3cf8e8a..c3cf8e8a 100644 --- a/ceph-cluster-config.yaml +++ b/os-apply-config/ceph-cluster-config.yaml diff --git a/ceph-storage-post.yaml b/os-apply-config/ceph-storage-post.yaml index 734f90bd..734f90bd 100644 --- a/ceph-storage-post.yaml +++ b/os-apply-config/ceph-storage-post.yaml diff --git a/ceph-storage.yaml b/os-apply-config/ceph-storage.yaml index 0dbcd3e7..0dbcd3e7 100644 --- a/ceph-storage.yaml +++ b/os-apply-config/ceph-storage.yaml diff --git a/cinder-storage-post.yaml b/os-apply-config/cinder-storage-post.yaml index ad4e0460..ad4e0460 100644 --- a/cinder-storage-post.yaml +++ b/os-apply-config/cinder-storage-post.yaml diff --git a/cinder-storage.yaml b/os-apply-config/cinder-storage.yaml index 7a686970..7a686970 100644 --- a/cinder-storage.yaml +++ b/os-apply-config/cinder-storage.yaml diff --git a/compute-post.yaml b/os-apply-config/compute-post.yaml index 695690d4..695690d4 100644 --- a/compute-post.yaml +++ b/os-apply-config/compute-post.yaml diff --git a/compute.yaml b/os-apply-config/compute.yaml index 88d4cb2b..88d4cb2b 100644 --- a/compute.yaml +++ b/os-apply-config/compute.yaml diff --git a/controller-post.yaml b/os-apply-config/controller-post.yaml index aac96357..aac96357 100644 --- a/controller-post.yaml +++ b/os-apply-config/controller-post.yaml diff --git a/controller.yaml b/os-apply-config/controller.yaml index 18dcc8eb..18dcc8eb 100644 --- a/controller.yaml +++ b/os-apply-config/controller.yaml diff --git a/swift-devices-and-proxy-config.yaml b/os-apply-config/swift-devices-and-proxy-config.yaml index 4f01dbea..4f01dbea 100644 --- a/swift-devices-and-proxy-config.yaml +++ b/os-apply-config/swift-devices-and-proxy-config.yaml diff --git a/swift-storage-post.yaml b/os-apply-config/swift-storage-post.yaml index 1b1c406d..1b1c406d 100644 --- a/swift-storage-post.yaml +++ b/os-apply-config/swift-storage-post.yaml diff --git a/swift-storage.yaml b/os-apply-config/swift-storage.yaml index d62d7d1a..d62d7d1a 100644 --- a/swift-storage.yaml +++ b/os-apply-config/swift-storage.yaml diff --git a/vip-config.yaml b/os-apply-config/vip-config.yaml index 8f984ab7..8f984ab7 100644 --- a/vip-config.yaml +++ b/os-apply-config/vip-config.yaml diff --git a/overcloud-resource-registry.yaml b/overcloud-resource-registry.yaml index dd7e1a1c..d6eb97f9 100644 --- a/overcloud-resource-registry.yaml +++ b/overcloud-resource-registry.yaml @@ -1,23 +1,23 @@ resource_registry: - OS::TripleO::BlockStorage: cinder-storage.yaml + OS::TripleO::BlockStorage: os-apply-config/cinder-storage.yaml OS::TripleO::BlockStorage::Net::SoftwareConfig: net-config-noop.yaml - OS::TripleO::Compute: compute.yaml + OS::TripleO::Compute: os-apply-config/compute.yaml OS::TripleO::Compute::Net::SoftwareConfig: net-config-noop.yaml OS::TripleO::SoftwareDeployment: OS::Heat::StructuredDeployment - OS::TripleO::Controller: controller.yaml + OS::TripleO::Controller: os-apply-config/controller.yaml OS::TripleO::Controller::Net::SoftwareConfig: net-config-noop.yaml - OS::TripleO::ObjectStorage: swift-storage.yaml + OS::TripleO::ObjectStorage: os-apply-config/swift-storage.yaml OS::TripleO::ObjectStorage::Net::SoftwareConfig: net-config-noop.yaml - OS::TripleO::CephStorage: ceph-storage.yaml + OS::TripleO::CephStorage: os-apply-config/ceph-storage.yaml OS::TripleO::CephStorage::Net::SoftwareConfig: net-config-noop.yaml - OS::TripleO::ControllerPostDeployment: controller-post.yaml - OS::TripleO::ComputePostDeployment: compute-post.yaml - OS::TripleO::ObjectStoragePostDeployment: swift-storage-post.yaml - OS::TripleO::BlockStoragePostDeployment: cinder-storage-post.yaml - OS::TripleO::CephStoragePostDeployment: ceph-storage-post.yaml - OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig: swift-devices-and-proxy-config.yaml - OS::TripleO::CephClusterConfig::SoftwareConfig: ceph-cluster-config.yaml - OS::TripleO::AllNodes::SoftwareConfig: all-nodes-config.yaml + OS::TripleO::ControllerPostDeployment: os-apply-config/controller-post.yaml + OS::TripleO::ComputePostDeployment: os-apply-config/compute-post.yaml + OS::TripleO::ObjectStoragePostDeployment: os-apply-config/swift-storage-post.yaml + OS::TripleO::BlockStoragePostDeployment: os-apply-config/cinder-storage-post.yaml + OS::TripleO::CephStoragePostDeployment: os-apply-config/ceph-storage-post.yaml + OS::TripleO::SwiftDevicesAndProxy::SoftwareConfig: os-apply-config/swift-devices-and-proxy-config.yaml + OS::TripleO::CephClusterConfig::SoftwareConfig: os-apply-config/ceph-cluster-config.yaml + OS::TripleO::AllNodes::SoftwareConfig: os-apply-config/all-nodes-config.yaml OS::TripleO::BootstrapNode::SoftwareConfig: bootstrap-config.yaml OS::TripleO::NodeUserData: firstboot/userdata_default.yaml OS::TripleO::NodeExtraConfigPost: extraconfig/post_deploy/default.yaml @@ -31,7 +31,7 @@ resource_registry: # TripleO overcloud networks OS::TripleO::Network: network/networks.yaml - OS::TripleO::VipConfig: vip-config.yaml + OS::TripleO::VipConfig: os-apply-config/vip-config.yaml OS::TripleO::Network::External: network/noop.yaml OS::TripleO::Network::InternalApi: network/noop.yaml @@ -73,4 +73,4 @@ resource_registry: OS::TripleO::Controller::Ports::RedisVipPort: network/ports/noop.yaml # validation resources - OS::TripleO::AllNodes::Validation: all-nodes-validation.yaml + OS::TripleO::AllNodes::Validation: os-apply-config/all-nodes-validation.yaml diff --git a/puppet/compute.yaml b/puppet/compute.yaml index e1e84f04..9ddc89c7 100644 --- a/puppet/compute.yaml +++ b/puppet/compute.yaml @@ -360,6 +360,7 @@ resources: - all_nodes # provided by allNodesConfig - '"%{::osfamily}"' - common + - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre datafiles: compute_extraconfig: mapped_data: {get_param: NovaComputeExtraConfig} diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 8d10482c..48f3acee 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -949,6 +949,7 @@ resources: - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre + - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre datafiles: controller_extraconfig: mapped_data: {get_param: ControllerExtraConfig} diff --git a/puppet/extraconfig/pre_deploy/controller/neutron-ml2-cisco-n1kv.yaml b/puppet/extraconfig/pre_deploy/controller/neutron-ml2-cisco-n1kv.yaml new file mode 100644 index 00000000..5985116b --- /dev/null +++ b/puppet/extraconfig/pre_deploy/controller/neutron-ml2-cisco-n1kv.yaml @@ -0,0 +1,174 @@ +heat_template_version: 2015-04-30 + +description: Configure hieradata for Cisco N1KV configuration + +parameters: + server: + description: ID of the controller node to apply this config to + type: string + + # Config specific parameters, to be provided via parameter_defaults + N1000vVSMIP: + type: string + default: '192.0.2.50' + N1000vVSMDomainID: + type: number + default: 100 + N1000vVSMIPV6: + type: string + default: '::1' + N1000vVEMHostMgmtIntf: + type: string + default: 'br-ex' + N1000vUplinkProfile: + type: string + default: '{eth1: system-uplink,}' + N1000vVtepConfig: + type: string + default: '{}' + N1000vVEMSource: + type: string + default: '' + N1000vVEMVersion: + type: string + default: '' + N1000vPortDB: + type: string + default: 'ovs' + N1000vVtepsInSameSub: + type: boolean + default: false + N1000vVEMFastpathFlood: + type: string + default: 'enable' +#VSM Puppet Parameter + N1000vVSMSource: + type: string + default: '' + N1000vVSMVersion: + type: string + default: 'latest' + N1000vVSMHostMgmtIntf: + type: string + default: 'br-ex' + N1000vVSMRole: + type: string + default: 'primary' + N1000vVSMPassword: + type: string + default: 'Password' + N1000vMgmtNetmask: + type: string + default: '255.255.255.0' + N1000vMgmtGatewayIP: + type: string + default: '192.0.2.1' + N1000vPacemakerControl: + type: boolean + default: true + N1000vExistingBridge: + type: boolean + default: true +#Plugin Parameters + N1000vVSMUser: + type: string + default: 'admin' + N1000vPollDuration: + type: number + default: 60 + N1000vHttpPoolSize: + type: number + default: 5 + N1000vHttpTimeout: + type: number + default: 15 + N1000vSyncInterval: + type: number + default: 300 + N1000vMaxVSMRetries: + type: number + default: 2 + +resources: + CiscoN1kvConfig: + type: OS::Heat::StructuredConfig + properties: + group: os-apply-config + config: + hiera: + datafiles: + cisco_n1kv_data: + mapped_data: + #enable_cisco_n1kv: {get_input: EnableCiscoN1kv} + # VEM Parameters + n1kv_vem_source: {get_input: n1kv_vem_source} + n1kv_vem_version: {get_input: n1kv_vem_version} + neutron::agents::n1kv_vem::n1kv_vsm_ip: {get_input: n1kv_vsm_ip} + neutron::agents::n1kv_vem::n1kv_vsm_domain_id: {get_input: n1kv_vsm_domain_id} + neutron::agents::n1kv_vem::n1kv_vsm_ip_v6: {get_input: n1kv_vsm_ip_v6} + neutron::agents::n1kv_vem::host_mgmt_intf: {get_input: n1kv_vem_host_mgmt_intf} + neutron::agents::n1kv_vem::uplink_profile: {get_input: n1kv_vem_uplink_profile} + neutron::agents::n1kv_vem::vtep_config: {get_input: n1kv_vem_vtep_config} + neutron::agents::n1kv_vem::portdb: {get_input: n1kv_vem_portdb} + neutron::agents::n1kv_vem::vteps_in_same_subnet: {get_input: n1kv_vem_vteps_in_same_subnet} + neutron::agents::n1kv_vem::fastpath_flood: {get_input: n1kv_vem_fastpath_flood} + #VSM Parameter + n1kv_vsm_source: {get_input: n1kv_vsm_source} + n1kv_vsm_version: {get_input: n1kv_vsm_version} + n1k_vsm::phy_if_bridge: {get_input: n1kv_vsm_host_mgmt_intf} + n1k_vsm::vsm_role: {get_input: n1kv_vsm_role} + n1k_vsm::pacemaker_control: {get_input: n1kv_vsm_pacemaker_ctrl} + n1k_vsm::existing_bridge: {get_input: n1kv_vsm_existing_br} + n1k_vsm::vsm_admin_passwd: {get_input: n1kv_vsm_password} + n1k_vsm::vsm_domain_id: {get_input: n1kv_vsm_domain_id} + n1k_vsm::vsm_mgmt_ip: {get_input: n1kv_vsm_ip} + n1k_vsm::vsm_mgmt_netmask: {get_input: n1kv_vsm_mgmt_netmask} + n1k_vsm::vsm_mgmt_gateway: {get_input: n1kv_vsm_gateway_ip} + n1k_vsm::phy_gateway: {get_input: n1kv_vsm_gateway_ip} + # Cisco N1KV driver Parameters + neutron::plugins::ml2::cisco::nexus1000v::n1kv_vsm_ip: {get_input: n1kv_vsm_ip} + neutron::plugins::ml2::cisco::nexus1000v::n1kv_vsm_username: {get_input: n1kv_vsm_username} + neutron::plugins::ml2::cisco::nexus1000v::n1kv_vsm_password: {get_input: n1kv_vsm_password} + neutron::plugins::ml2::cisco::nexus1000v::poll_duration: {get_input: n1kv_vsm_poll_duration} + neutron::plugins::ml2::cisco::nexus1000v::http_pool_size: {get_input: n1kv_vsm_http_pool_size} + neutron::plugins::ml2::cisco::nexus1000v::http_timeout: {get_input: n1kv_vsm_http_timeout} + neutron::plugins::ml2::cisco::nexus1000v::n1kv_vsm_sync_interval: {get_input: n1kv_vsm_sync_interval} + neutron::plugins::ml2::cisco::nexus1000v::max_vsm_retries: {get_input: n1kv_max_vsm_retries} + + CiscoN1kvDeployment: + type: OS::Heat::StructuredDeployment + properties: + config: {get_resource: CiscoN1kvConfig} + server: {get_param: server} + input_values: + n1kv_vsm_ip: {get_param: N1000vVSMIP} + n1kv_vsm_domain_id: {get_param: N1000vVSMDomainID} + n1kv_vsm_ip_v6: {get_param: N1000vVSMIPV6} + n1kv_vem_host_mgmt_intf: {get_param: N1000vVEMHostMgmtIntf} + n1kv_vem_uplink_profile: {get_param: N1000vUplinkProfile} + n1kv_vem_vtep_config: {get_param: N1000vVtepConfig} + n1kv_vem_source: {get_param: N1000vVEMSource} + n1kv_vem_version: {get_param: N1000vVEMVersion} + n1kv_vem_portdb: {get_param: N1000vPortDB} + n1kv_vem_vteps_in_same_subnet: {get_param: N1000vVtepsInSameSub} + n1kv_vem_fastpath_flood: {get_param: N1000vVEMFastpathFlood} + n1kv_vsm_source: {get_param: N1000vVSMSource} + n1kv_vsm_version: {get_param: N1000vVSMVersion} + n1kv_vsm_host_mgmt_intf: {get_param: N1000vVSMHostMgmtIntf} + n1kv_vsm_role: {get_param: N1000vVSMRole} + n1kv_vsm_password: {get_param: N1000vVSMPassword} + n1kv_vsm_mgmt_netmask: {get_param: N1000vMgmtNetmask} + n1kv_vsm_gateway_ip: {get_param: N1000vMgmtGatewayIP} + n1kv_vsm_pacemaker_ctrl: {get_param: N1000vPacemakerControl} + n1kv_vsm_existing_br: {get_param: N1000vExistingBridge} + n1kv_vsm_username: {get_param: N1000vVSMUser} + n1kv_vsm_poll_duration: {get_param: N1000vPollDuration} + n1kv_vsm_http_pool_size: {get_param: N1000vHttpPoolSize} + n1kv_vsm_http_timeout: {get_param: N1000vHttpTimeout} + n1kv_vsm_sync_interval: {get_param: N1000vSyncInterval} + n1kv_max_vsm_retries: {get_param: N1000vMaxVSMRetries} + +outputs: + deploy_stdout: + description: Deployment reference, used to trigger puppet apply on changes + value: {get_attr: [CiscoN1kvDeployment, deploy_stdout]} diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp index 9acc18fe..a0ef701a 100644 --- a/puppet/manifests/overcloud_compute.pp +++ b/puppet/manifests/overcloud_compute.pp @@ -78,6 +78,14 @@ class { 'neutron::agents::ml2::ovs': tunnel_types => split(hiera('neutron_tunnel_types'), ','), } +if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') { + class { 'neutron::agents::n1kv_vem': + n1kv_source => hiera('n1kv_vem_source', undef), + n1kv_version => hiera('n1kv_vem_version', undef), + } +} + + include ::ceilometer include ::ceilometer::config include ::ceilometer::agent::compute diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp index 8332e56b..c857c5c5 100644 --- a/puppet/manifests/overcloud_controller.pp +++ b/puppet/manifests/overcloud_controller.pp @@ -245,6 +245,20 @@ if hiera('step') >= 3 { bridge_mappings => split(hiera('neutron_bridge_mappings'), ','), tunnel_types => split(hiera('neutron_tunnel_types'), ','), } + if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') { + include neutron::plugins::ml2::cisco::nexus1000v + + class { 'neutron::agents::n1kv_vem': + n1kv_source => hiera('n1kv_vem_source', undef), + n1kv_version => hiera('n1kv_vem_version', undef), + } + + class { 'n1k_vsm': + n1kv_source => hiera('n1kv_vsm_source', undef), + n1kv_version => hiera('n1kv_vsm_version', undef), + pacemaker_control => false, + } + } if 'cisco_ucsm' in hiera('neutron_mechanism_drivers') { include ::neutron::plugins::ml2::cisco::ucsm @@ -440,10 +454,17 @@ if hiera('step') >= 3 { include ::heat::engine # Horizon + if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') { + $_profile_support = 'cisco' + } else { + $_profile_support = 'None' + } + $neutron_options = {'profile_support' => $_profile_support } $vhost_params = { add_listen => false } class { 'horizon': cache_server_ip => hiera('memcache_node_ips', '127.0.0.1'), vhost_extra_params => $vhost_params, + neutron_options => $neutron_options, } $snmpd_user = hiera('snmpd_readonly_user_name') diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp index 72452733..5c220dc5 100644 --- a/puppet/manifests/overcloud_controller_pacemaker.pp +++ b/puppet/manifests/overcloud_controller_pacemaker.pp @@ -617,6 +617,19 @@ if hiera('step') >= 3 { include ::neutron::plugins::ml2::cisco::nexus include ::neutron::plugins::ml2::cisco::type_nexus_vxlan } + if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') { + include neutron::plugins::ml2::cisco::nexus1000v + + class { 'neutron::agents::n1kv_vem': + n1kv_source => hiera('n1kv_vem_source', undef), + n1kv_version => hiera('n1kv_vem_version', undef), + } + + class { 'n1k_vsm': + n1kv_source => hiera('n1kv_vsm_source', undef), + n1kv_version => hiera('n1kv_vsm_version', undef), + } + } if hiera('neutron_enable_bigswitch_ml2', false) { include neutron::plugins::ml2::bigswitch::restproxy @@ -860,6 +873,12 @@ if hiera('step') >= 3 { # NOTE(gfidente): server-status can be consumed by the pacemaker resource agent include ::apache include ::apache::mod::status + if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') { + $_profile_support = 'cisco' + } else { + $_profile_support = 'None' + } + $neutron_options = {'profile_support' => $_profile_support } $vhost_params = { add_listen => false, priority => 10, @@ -868,6 +887,7 @@ if hiera('step') >= 3 { cache_server_ip => hiera('memcache_node_ips', '127.0.0.1'), vhost_extra_params => $vhost_params, server_aliases => $::hostname, + neutron_options => $neutron_options, } $snmpd_user = hiera('snmpd_readonly_user_name') @@ -1483,6 +1503,30 @@ if hiera('step') >= 4 { clone_params => "interleave=true", } + #VSM + if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') { + pacemaker::resource::ocf { 'vsm-p' : + ocf_agent_name => 'heartbeat:VirtualDomain', + resource_params => 'force_stop=true config=/var/spool/cisco/vsm/vsm_primary_deploy.xml', + require => Class['n1k_vsm'], + meta_params => 'resource-stickiness=INFINITY', + } + if str2bool(hiera('n1k_vsm::pacemaker_control', 'true')) { + pacemaker::resource::ocf { 'vsm-s' : + ocf_agent_name => 'heartbeat:VirtualDomain', + resource_params => 'force_stop=true config=/var/spool/cisco/vsm/vsm_secondary_deploy.xml', + require => Class['n1k_vsm'], + meta_params => 'resource-stickiness=INFINITY', + } + pacemaker::constraint::colocation { 'vsm-colocation-contraint': + source => "vsm-p", + target => "vsm-s", + score => "-INFINITY", + require => [Pacemaker::Resource::Ocf['vsm-p'], + Pacemaker::Resource::Ocf['vsm-s']], + } + } + } } |