Merge "Add NodeAdminUserData interface for "heat-admin" user"
authorJenkins <jenkins@review.openstack.org>
Tue, 8 Sep 2015 13:03:38 +0000 (13:03 +0000)
committerGerrit Code Review <review@openstack.org>
Tue, 8 Sep 2015 13:03:38 +0000 (13:03 +0000)
1  2 
overcloud-resource-registry-puppet.yaml
puppet/ceph-storage-puppet.yaml
puppet/cinder-storage-puppet.yaml
puppet/compute-puppet.yaml
puppet/controller-puppet.yaml
puppet/swift-storage-puppet.yaml

@@@ -23,6 -23,10 +23,10 @@@ resource_registry
    OS::TripleO::BootstrapNode::SoftwareConfig: puppet/bootstrap-config.yaml
    OS::TripleO::Tasks::PackageUpdate: extraconfig/tasks/yum_update.yaml
  
+   # This creates the "heat-admin" user for all OS images by default
+   # To disable, replace with firstboot/userdata_default.yaml
+   OS::TripleO::NodeAdminUserData: firstboot/userdata_heat_admin.yaml
    # Hooks for operator extra config
    # NodeUserData == Cloud-init additional user-data, e.g cloud-config
    # ControllerExtraConfigPre == Controller configuration pre service deployment
@@@ -44,7 -48,6 +48,7 @@@
    OS::TripleO::Network::Tenant: network/noop.yaml
  
    OS::TripleO::Network::Ports::NetIpMap: network/ports/net_ip_map.yaml
 +  OS::TripleO::Network::Ports::NetIpSubnetMap: network/ports/net_ip_subnet_map.yaml
    OS::TripleO::Network::Ports::NetIpListMap: network/ports/net_ip_list_map.yaml
  
    # Port assignments for the controller role
@@@ -66,9 -66,26 +66,26 @@@ resources
        networks:
          - network: ctlplane
        user_data_format: SOFTWARE_CONFIG
-       user_data: {get_resource: NodeUserData}
+       user_data: {get_resource: UserData}
        name: {get_param: Hostname}
  
+   # Combine the NodeAdminUserData and NodeUserData mime archives
+   UserData:
+     type: OS::Heat::MultipartMime
+     properties:
+       parts:
+       - config: {get_resource: NodeAdminUserData}
+         type: multipart
+       - config: {get_resource: NodeUserData}
+         type: multipart
+   # Creates the "heat-admin" user if configured via the environment
+   # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+   NodeAdminUserData:
+     type: OS::TripleO::NodeAdminUserData
+   # For optional operator additional userdata
+   # Should return a OS::Heat::MultipartMime reference via OS::stack_id
    NodeUserData:
      type: OS::TripleO::NodeUserData
  
    NetIpMap:
      type: OS::TripleO::Network::Ports::NetIpMap
      properties:
 +      ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
        StorageIp: {get_attr: [StoragePort, ip_address]}
        StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
  
    NetIpSubnetMap:
 -    type: OS::TripleO::Network::Ports::NetIpMap
 +    type: OS::TripleO::Network::Ports::NetIpSubnetMap
      properties:
 -      StorageIp: {get_attr: [StoragePort, ip_subnet]}
 -      StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_subnet]}
 +      ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
 +      StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
 +      StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
  
    NetworkDeployment:
      type: OS::TripleO::SoftwareDeployment
              params:
                server: {get_param: NtpServer}
          enable_package_install: {get_param: EnablePackageInstall}
 -        ceph_cluster_network: {get_attr: [NetIpSubnetMap, net_ip_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
 -        ceph_public_network: {get_attr: [NetIpSubnetMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
 +        ceph_cluster_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
 +        ceph_public_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
  
    CephStorageConfig:
      type: OS::Heat::StructuredConfig
@@@ -120,9 -120,26 +120,26 @@@ resources
        networks:
          - network: ctlplane
        user_data_format: SOFTWARE_CONFIG
-       user_data: {get_resource: NodeUserData}
+       user_data: {get_resource: UserData}
        name: {get_param: Hostname}
  
+   # Combine the NodeAdminUserData and NodeUserData mime archives
+   UserData:
+     type: OS::Heat::MultipartMime
+     properties:
+       parts:
+       - config: {get_resource: NodeAdminUserData}
+         type: multipart
+       - config: {get_resource: NodeUserData}
+         type: multipart
+   # Creates the "heat-admin" user if configured via the environment
+   # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+   NodeAdminUserData:
+     type: OS::TripleO::NodeAdminUserData
+   # For optional operator additional userdata
+   # Should return a OS::Heat::MultipartMime reference via OS::stack_id
    NodeUserData:
      type: OS::TripleO::NodeUserData
  
    NetIpMap:
      type: OS::TripleO::Network::Ports::NetIpMap
      properties:
 +      ControlPlaneIp: {get_attr: [BlockStorage, networks, ctlplane, 0]}
        InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
        StorageIp: {get_attr: [StoragePort, ip_address]}
        StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
@@@ -70,12 -70,9 +70,12 @@@ parameters
      default: default
      constraints:
        - custom_constraint: nova.keypair
 -  KeystoneHost:
 +  KeystoneAdminApiVirtualIP:
      type: string
      default: ''
 +  KeystonePublicApiVirtualIP:
 +     type: string
 +     default: ''
    NeutronBridgeMappings:
      description: >
        The OVS logical->physical bridge mappings to use. See the Neutron
@@@ -263,9 -260,26 +263,26 @@@ resources
        networks:
          - network: ctlplane
        user_data_format: SOFTWARE_CONFIG
-       user_data: {get_resource: NodeUserData}
+       user_data: {get_resource: UserData}
        name: {get_param: Hostname}
  
+   # Combine the NodeAdminUserData and NodeUserData mime archives
+   UserData:
+     type: OS::Heat::MultipartMime
+     properties:
+       parts:
+       - config: {get_resource: NodeAdminUserData}
+         type: multipart
+       - config: {get_resource: NodeUserData}
+         type: multipart
+   # Creates the "heat-admin" user if configured via the environment
+   # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+   NodeAdminUserData:
+     type: OS::TripleO::NodeAdminUserData
+   # For optional operator additional userdata
+   # Should return a OS::Heat::MultipartMime reference via OS::stack_id
    NodeUserData:
      type: OS::TripleO::NodeUserData
  
    NetIpMap:
      type: OS::TripleO::Network::Ports::NetIpMap
      properties:
 +      ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
        InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
        StorageIp: {get_attr: [StoragePort, ip_address]}
        TenantIp: {get_attr: [TenantPort, ip_address]}
            list_join:
              - ''
              - - 'http://'
 -              - {get_param: KeystoneHost}
 +              - {get_param: KeystonePublicApiVirtualIP}
                - ':5000/v2.0'
          snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
          snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
            list_join:
              - ''
              - - 'http://'
 -              - {get_param: NeutronHost}
 +              - {get_param: KeystoneAdminApiVirtualIP}
                - ':35357/v2.0'
          admin_password: {get_param: AdminPassword}
          rabbit_username: {get_param: RabbitUserName}
@@@ -491,9 -491,6 +491,9 @@@ parameters
    MysqlVirtualIP:
      type: string
      default: ''
 +  KeystoneAdminApiVirtualIP:
 +    type: string
 +    default: ''
    KeystonePublicApiVirtualIP:
      type: string
      default: ''
@@@ -531,9 -528,26 +531,26 @@@ resources
        networks:
          - network: ctlplane
        user_data_format: SOFTWARE_CONFIG
-       user_data: {get_resource: NodeUserData}
+       user_data: {get_resource: UserData}
        name: {get_param: Hostname}
  
+   # Combine the NodeAdminUserData and NodeUserData mime archives
+   UserData:
+     type: OS::Heat::MultipartMime
+     properties:
+       parts:
+       - config: {get_resource: NodeAdminUserData}
+         type: multipart
+       - config: {get_resource: NodeUserData}
+         type: multipart
+   # Creates the "heat-admin" user if configured via the environment
+   # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+   NodeAdminUserData:
+     type: OS::TripleO::NodeAdminUserData
+   # For optional operator additional userdata
+   # Should return a OS::Heat::MultipartMime reference via OS::stack_id
    NodeUserData:
      type: OS::TripleO::NodeUserData
  
    NetIpMap:
      type: OS::TripleO::Network::Ports::NetIpMap
      properties:
 +      ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
        ExternalIp: {get_attr: [ExternalPort, ip_address]}
        InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
        StorageIp: {get_attr: [StoragePort, ip_address]}
        TenantIp: {get_attr: [TenantPort, ip_address]}
  
    NetIpSubnetMap:
 -    type: OS::TripleO::Network::Ports::NetIpMap
 +    type: OS::TripleO::Network::Ports::NetIpSubnetMap
      properties:
 -      ExternalIp: {get_attr: [ExternalPort, ip_subnet]}
 -      InternalApiIp: {get_attr: [InternalApiPort, ip_subnet]}
 -      StorageIp: {get_attr: [StoragePort, ip_subnet]}
 -      StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_subnet]}
 -      TenantIp: {get_attr: [TenantPort, ip_subnet]}
 +      ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
 +      ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
 +      InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
 +      StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
 +      StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
 +      TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
  
    NetworkConfig:
      type: OS::TripleO::Controller::Net::SoftwareConfig
            list_join:
              - ''
              - - 'http://'
 -              - {get_param: KeystonePublicApiVirtualIP}
 +              - {get_param: KeystoneAdminApiVirtualIP}
                - ':35357/'
          keystone_auth_uri:
            list_join:
            list_join:
              - ''
              - - 'http://'
 -              - {get_param: KeystonePublicApiVirtualIP}
 +              - {get_param: KeystoneAdminApiVirtualIP}
                - ':35357/v2.0'
          ceilometer_backend: {get_param: CeilometerBackend}
          ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
          memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
          mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
          mysql_virtual_ip: {get_param: MysqlVirtualIP}
 -        ceph_cluster_network: {get_attr: [NetIpSubnetMap, net_ip_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
 -        ceph_public_network: {get_attr: [NetIpSubnetMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
 +        ceph_cluster_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
 +        ceph_public_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
          ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
  
    # Map heat metadata into hiera datafiles
@@@ -89,9 -89,26 +89,26 @@@ resources
        networks:
          - network: ctlplane
        user_data_format: SOFTWARE_CONFIG
-       user_data: {get_resource: NodeUserData}
+       user_data: {get_resource: UserData}
        name: {get_param: Hostname}
  
+   # Combine the NodeAdminUserData and NodeUserData mime archives
+   UserData:
+     type: OS::Heat::MultipartMime
+     properties:
+       parts:
+       - config: {get_resource: NodeAdminUserData}
+         type: multipart
+       - config: {get_resource: NodeUserData}
+         type: multipart
+   # Creates the "heat-admin" user if configured via the environment
+   # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+   NodeAdminUserData:
+     type: OS::TripleO::NodeAdminUserData
+   # For optional operator additional userdata
+   # Should return a OS::Heat::MultipartMime reference via OS::stack_id
    NodeUserData:
      type: OS::TripleO::NodeUserData
  
    NetIpMap:
      type: OS::TripleO::Network::Ports::NetIpMap
      properties:
 +      ControlPlaneIp: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
        InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
        StorageIp: {get_attr: [StoragePort, ip_address]}
        StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}