Parameters
- app_name : 애플리케이션 이름
- cartridges : 생성할 애플리케이션에 추가할 카트리지 목록
- scalable : 확장 여부(기본값 false)
- available : HA 여부
- init_git_url : 애플리케이션 템플릿 GIT URL
- gear_profile, gear_size, default_gear_size : 기어 사이즈
- config : 설정값
- environment_variables : 환경 변수
- initial_git_branch : init_git_url에서 사용할 브랜치
Preconditions
- 애플리케이션 이름이 Blacklist에 등록되어 있는지 확인(OpenShift::ApplicationContainerProxy)
- Git URL 스키마 확인(OpenShift::Git)
- 카트리지 스펙 확인(CartridgeInstance)
- 설정에서 HA가 비활성화 되어있는지 확인(Rails.configuration.openshift - allow_ha_applications)
- 유저가 HA 애플리케이션을 생성할 수 있는 권한이 있는지 확인
프로세스 상세
- Gear 스펙 Hash Array 생성
- 지정된 이름의 도메인을 찾거나, 없을 시 생성
- 인증
- 권한 체크
- Application 모델 객체 생성
- config 타입 변환
- app에 user agent 정보 추가 - 로깅용..?
- 인스턴스 변수에 생성된 app 객체 설정
- 기어 최대 생성 수보다 많은 지 확인
- envorionment_variables 가져옴
- user environment variable 유효성 확인(Application.validate_user_env_variables)
- cartridge 탐색 및 다운로드(CartridgeCache.find_and_download_cartridges)
- 최대 스토리지 사용량 초과 확인
- 웹 프레임워크 유효성 확인
- 구 버전 카트리지 확인
- 요청 결과 생성
- 분석 데이터 트래킹(@analytics_tracker 인스턴스 변수)
- 카트리지 include
- 요청 결과 렌더
'밤을 지새다 > OpenShift Origin' 카테고리의 다른 글
OpenShift Origin 설치 트러블 슈팅: Node (0) | 2014.09.22 |
---|---|
OpenShift Node Host 설치 [1] - 작성 중 (0) | 2014.08.18 |
OpenShift Origin V3 (2) | 2014.08.14 |
공부할 것들 (0) | 2014.07.28 |
OpenShift Origin Server 프로젝트 패키지 구성 (1) | 2014.07.08 |